default

В JavaScript ключевое слово default используется в двух случаях: внутри конструкции switch или с конструкцией export.

Синтаксис

В конструкции switch:

switch (expression) {
  case value1:
    // Выражение выполнится, когда значение expression соответствует value1
    [break;]
  default:
    // Выражение выполнится, когда ни одно из значений не будет соответствовать значению expression
    [break;]
}

С конструкцией 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

Спецификация

Спецификация Статус Комментарий
ECMAScript 2015 (6th Edition, ECMA-262)
Определение 'switch statement' в этой спецификации.
Стандарт
ECMAScript 2015 (6th Edition, ECMA-262)
Определение 'Exports' в этой спецификации.
Стандарт
ECMAScript Latest Draft (ECMA-262)
Определение 'switch statement' в этой спецификации.
Черновик
ECMAScript Latest Draft (ECMA-262)
Определение 'Exports' в этой спецификации.
Черновик

Совместимость с браузерами

Update compatibility data on GitHub
КомпьютерыМобильныеServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome для AndroidFirefox для AndroidOpera для AndroidSafari on iOSSamsung InternetNode.js
default keyword in switchChrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 4Opera Полная поддержка ДаSafari Полная поддержка ДаWebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка ДаSafari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка 1.0nodejs Полная поддержка Да
default keyword with exportChrome Полная поддержка 61Edge Полная поддержка 16
Полная поддержка 16
Полная поддержка 15
Отключено
Отключено From version 15: this feature is behind the Experimental JavaScript Features preference.
Firefox Полная поддержка 60
Полная поддержка 60
Нет поддержки 54 — 60
Отключено
Отключено From version 54 until version 60 (exclusive): this feature is behind the dom.moduleScripts.enabled preference. To change preferences in Firefox, visit about:config.
IE Нет поддержки НетOpera Полная поддержка 47Safari Полная поддержка 10.1WebView Android Нет поддержки НетChrome Android Полная поддержка 61Firefox Android Полная поддержка 60
Полная поддержка 60
Нет поддержки 54 — 60
Отключено
Отключено From version 54 until version 60 (exclusive): this feature is behind the dom.moduleScripts.enabled preference. To change preferences in Firefox, visit about:config.
Opera Android Полная поддержка 44Safari iOS Полная поддержка 10.3Samsung Internet Android Полная поддержка 8.0nodejs ?

Легенда

Полная поддержка  
Полная поддержка
Нет поддержки  
Нет поддержки
Совместимость неизвестна  
Совместимость неизвестна
Пользователь должен сам включить эту возможность.
Пользователь должен сам включить эту возможность.

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