default

Ключове слово default може використовуватись у двох ситуаціях у JavaScript: у конструкції switch або з оператором export.

Синтаксис

У конструкції switch:

switch (expression) {
  case value1:
    //Інструкції, що виконуються, коли значення expression дорівнює value1
    [break;]
  default:
    //Інструкції, що виконуються, коли жодне значення не дорівнює значенню expression
    [break;]
}

З оператором export:

export default nameN 

Опис

Більш детально дивіться на сторінках

  • конструкції switch та
  • оператора export.

Приклади

Використання default у конструкціях switch

У наступному прикладі, якщо expr оцінюється як "Апельсини" або "Яблука", програма зайде або у блок case "Апельсини", або у "Яблука" та виконає відповідну інструкцію. Ключове слово default допоможе у будь-якому іншому випадку та виконає пов'язану інструкцію.

switch (expr) {
  case 'Апельсини':
    console.log('Апельсини коштують $0.59 за кілограм.');
    break;
  case 'Яблука':
    console.log('Яблука коштують $0.32 за кілограм.');
    break;
  default:
    console.log('На жаль, в нас закінчились ' + expr + '.');
}

Використання default з export

Якщо ви хочете експортувати єдине значення, або вам потрібне запасне значення модуля, можна використати default у export:

// module "my-module.js"
let cube = function cube(x) {
  return x * x * x;
};
export default cube;

Тоді у іншому скрипті буде прямий імпорт експорту за замовчуванням:

// module "another-module.js"
import cube from 'my-module';  //default export gave us the liberty to say import cube, instead of import cube from 'my-module'
console.log(cube(3)); // 27

Специфікації

Специфікація Статус Коментар
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'switch statement' in that specification.
Standard
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'Exports' in that specification.
Standard
ECMAScript Latest Draft (ECMA-262)
The definition of 'switch statement' in that specification.
Draft
ECMAScript Latest Draft (ECMA-262)
The definition of 'Exports' in that specification.
Draft

Сумісність з веб-переглядачами

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung InternetNode.js
default keyword in switchChrome Full support YesEdge Full support YesFirefox Full support 1IE Full support YesOpera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesFirefox Android Full support 4Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yesnodejs Full support Yes
default keyword with exportChrome Full support 61Edge Full support 16
Full support 16
Full support 15
Disabled
Disabled From version 15: this feature is behind the Experimental JavaScript Features preference.
Firefox Full support 60
Full support 60
No support 54 — 60
Disabled
Disabled 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 No support NoOpera Full support 47Safari Full support 10.1WebView Android No support NoChrome Android Full support 61Firefox Android Full support 60
Full support 60
No support 54 — 60
Disabled
Disabled 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 Full support 44Safari iOS Full support 10.1Samsung Internet Android No support Nonodejs ?

Legend

Full support  
Full support
No support  
No support
Compatibility unknown  
Compatibility unknown
User must explicitly enable this feature.
User must explicitly enable this feature.

Див. також