--- title: default slug: conflicting/Web/JavaScript/Reference/Statements/switch tags: - JavaScript - Keyword - Switch - export translation_of: Web/JavaScript/Reference/Statements/switch translation_of_original: Web/JavaScript/Reference/Statements/default original_slug: Web/JavaScript/Reference/Statements/default ---
В JavaScript ключевое слово default используется в двух случаях: внутри конструкции {{jsxref("Statements/switch", "switch")}} или с конструкцией {{jsxref("Statements/export", "export")}}.
В конструкции {{jsxref("Statements/switch", "switch")}}:
switch (expression) { case value1: // Выражение выполнится, когда значение expression соответствует value1 [break;] default: // Выражение выполнится, когда ни одно из значений не будет соответствовать значению expression [break;] }
С конструкцией {{jsxref("Statements/export", "export")}}:
export default nameN
Для получения дополнительной информации смотрите:
default
в switch
В следующем примере, если expr
имеет значение "Апельсины" или "Яблоки", то программа сопоставит это значение с "Апельсины" или с "Яблоки", а затем выполнит соответствующее выражение. В других случаях поможет ключевое слово default, выполня связанное выражение.
switch (expr) { case 'Апельсины': console.log('Апельсины стоят $0.59 за фунт.'); break; case 'Яблоки': console.log('Яблоки стоят $0.32 за фунт.'); break; default: console.log(`Извините, у нас закончились ${expr}.`); }
default
с export
При необходимости экспорта единственного значения или резервирования (fallback) значения для модуля, можно воспользоваться экспортом по-умолчанию:
// модуль "my-module.js" let cube = function cube(x) { return x * x * x; }; export default cube;
Тогда, в другом файле JavaScript, становится возможным просто импортировать экспортируемое по-умолчанию значение:
// модуль "my-module.js" import myFunction from 'my-module'; console.log(myFunction(3)); // 27
Спецификация | Статус | Комментарий |
---|---|---|
{{SpecName('ES6', '#sec-switch-statement', 'switch statement')}} | {{Spec2('ES6')}} | |
{{SpecName('ES6', '#sec-exports', 'Exports')}} | {{Spec2('ES6')}} | |
{{SpecName('ESDraft', '#sec-switch-statement', 'switch statement')}} | {{Spec2('ESDraft')}} | |
{{SpecName('ESDraft', '#sec-exports', 'Exports')}} | {{Spec2('ESDraft')}} |
{{Compat("javascript.statements.default")}}