default 关键字可以在 JavaScript 的两种情况下使用:在 switch ,或 export 中。

语法

switch 语句中使用:

switch (expression) {
  case value1:
    //当表达式的值和value1匹配执行这里的语句
    [break;]
  default:
    //当表达式的值没有匹配,执行这里的语句
    [break;]
}

export 中使用:

export default nameN 

描述

更多细节,参见

示例

switch语句中使用default

在以下示例中,如果expr为“Oranges”或“Apples”,程序将匹配“Oranges”或“Apples”的值并执行相应的声明。在任何其它情况下,default关键字将执行关联的语句。

switch (expr) {
  case "Oranges":
    console.log("Oranges are $0.59 a pound.");
    break;
  case "Apples":
    console.log("Apples are $0.32 a pound.");
    break;
  default:
    console.log("Sorry, we are out of " + expr + ".");
}

export语句中使用default

如果要导出单个值或需要模块的回掉值,则可以使用默认导出: 

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

然后,在另一个脚本中,默认导出将直接被导入:

// module "my-module.js"
import myFunction from 'my-module';
console.log(myFunction(3)); // 27

规范

Specification Status Comment
ECMAScript 2015 (6th Edition, ECMA-262)
switch statement
Standard  
ECMAScript 2015 (6th Edition, ECMA-262)
Exports
Standard  
ECMAScript Latest Draft (ECMA-262)
switch statement
Draft  
ECMAScript Latest Draft (ECMA-262)
Exports
Draft  

浏览器兼容

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox 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 YesEdge Mobile 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 61Edge Mobile Full support YesFirefox 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 47Safari 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.

See also