--- title: default slug: Web/JavaScript/Reference/Statements/default tags: - JavaScript - Keyword - Switch - export translation_of: Web/JavaScript/Reference/Statements/switch ---
{{jsSidebar("Statements")}}

В 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")}}

Смотрите также