--- title: default slug: conflicting/Web/JavaScript/Reference/Statements/switch tags: - JavaScript - Keyword - Palavra-chave translation_of: Web/JavaScript/Reference/Statements/switch translation_of_original: Web/JavaScript/Reference/Statements/default original_slug: Web/JavaScript/Reference/Statements/default ---
A palavra-chave default pode ser usada em duas situações no JavaScript: com uma declaração {{jsxref("Statements/switch", "switch")}}, ou com uma declaração {{jsxref("Statements/export", "export")}}.
Com uma declaração {{jsxref("Statements/switch", "switch")}}:
switch (expressao) { case value1: //Declarações executadas quando o resultado da expressao for value1 [break;] default: //Declarações executadas quando nenhum dos valores for igual o da expressao [break;] }
Com a declaração {{jsxref("Statements/export", "export")}}:
export default nameN
Para mais detalhes, veja as páginas:
default
em declarações switch
No exemplo a seguir, se a variável expr
for "Laranjas" ou "Maças", o programa encontra os valores com o case "Laranjas" ou "Maças" e executa a declaração correspondente. A palavra-chave default
vai ajudar em qualquer outro caso e executará a declaração associada.
switch (expr) { case 'Laranjas': console.log('Laranjas custam R$0,59.'); break; case 'Maças': console.log('Maças custam R$0,32.'); break; default: console.log('Desculpe, nós não temos ' + expr + '.'); }
default
com export
Se você quiser exportar apenas um valor ou precisa de um valor fallback para um módulo, uma exportação padrão (default export) pode ser usada:
// module "my-module.js" let cube = function cube(x) { return x * x * x; }; export default cube;
Então, no outro script, isso pode ser passado direto para o import do default export:
// module "my-module.js" import myFunction from 'my-module'; console.log(myFunction(3)); // 27
Especificação | Situação | Comentário |
---|---|---|
{{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')}} |
{{CompatibilityTable}}
Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
Switch default | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} |
Export default | {{CompatNo}} | {{CompatUnknown}} | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} |
Feature | Android | Chrome for Android | Edge | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|---|
Switch default | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} |
Export default | {{CompatNo}} | {{CompatNo}} | {{CompatUnknown}} | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} |