aboutsummaryrefslogtreecommitdiff
path: root/files/es/web/javascript/referencia/sentencias/default/index.html
blob: 5cc0eb9060c92851caf913d698bd632b9d231503 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
---
title: default
slug: Web/JavaScript/Referencia/Sentencias/default
tags:
  - JavaScript
  - Palabra clave
translation_of: Web/JavaScript/Reference/Statements/switch
---
<div>{{jsSidebar("Sentencias")}}</div>

<p>La palabra clave<strong> default, </strong>en JavaScript puede ser usada en dos situaciones: dentro una sentencia {{jsxref("Sentencias/switch", "switch")}}, o con un sentencia{{jsxref("Sentencias/export", "export")}}.</p>

<div>{{EmbedInteractiveExample("pages/js/statement-default.html")}}</div>

<p class="hidden">El codigo fuente para este ejemplo interactivo esta almacenado en un repositorio de GitHub. Si quieres contribuir al proyecto de ejemplos interactivos, clone <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> y mandenos un pull request.</p>

<h2 id="Sintaxis">Sintaxis</h2>

<p>Dentro de una sentencia {{jsxref("Sentencias/switch", "switch")}}:</p>

<pre class="syntaxbox">switch (expresion) {
  case valor1:
    //Declaración ejecutada cuando el resultado de la expresion conincida con valor1
    [break;]
  default:
    //Declaración ejecutada cuando ninguno de los valores conincida con algun valor de la expresion
    [break;]
}</pre>

<p>Con una sentencia {{jsxref("Sentencias/export", "export")}}:</p>

<pre class="syntaxbox">export default <em>nameN</em> </pre>

<h2 id="Descripción">Descripción</h2>

<p>Para mas detalles vea las paginas:</p>

<ul>
 <li>Sentencia {{jsxref("Sentencias/switch", "switch")}} y</li>
 <li>Sentencia {{jsxref("Sentencias/export", "export")}}.</li>
</ul>

<h2 id="Ejemplos">Ejemplos</h2>

<h3 id="Usando_default_en_una_sentencia_switch">Usando <code>default</code> en una sentencia <code>switch</code></h3>

<p>En el siguiente ejemplo, si se evalua <code>expr</code>  como "Naranjas" o "Manzanas", el programa coincide los valores en cada caso: "Naranjas" o "Manzanas", y ejecuta la declaración correspondiente. La palabra clave <code>default</code> ayudara en algun otro caso y ejecuta la declaración asociada.</p>

<pre class="brush: js">switch (expr) {
  case 'Naranjas':
    console.log('Las Naranjas cuestan $0.59 el kilogramo.');
    break;
  case 'Manzanas':
    console.log('Las Manzanas cuestan $0.32 el kilogramo.');
    break;
  default:
    console.log('Lo esntimos, no tenemos ' + expr + '.');
}</pre>

<h3 id="Usando_default_con_export">Usando <code>default</code> con <code>export</code></h3>

<p>Si queres exportar un solo valor o necesitas reservar un valor para un modulo, puedes usar una exportación por defecto:</p>

<pre class="brush: js">// modulo "mi-modulo.js"
let cube = function cube(x) {
  return x * x * x;
};
export default cube;</pre>

<p>Entonces, en otro script, sera sencillo de importar el valor del modulo:</p>

<pre class="brush: js">// modulo "otro-modulo.js"
import cubeArea from 'mi-modulo';  //default export nos da la libertad de decir import cubeArea, en lugar de import cube from 'my-module'
console.log(cubeArea(3)); // 27
</pre>

<h2 id="Especificaciones">Especificaciones</h2>

<table class="standard-table">
 <tbody>
  <tr>
   <th scope="col">Specification</th>
   <th scope="col">Status</th>
   <th scope="col">Comment</th>
  </tr>
  <tr>
   <td>{{SpecName('ES6', '#sec-switch-statement', 'switch statement')}}</td>
   <td>{{Spec2('ES6')}}</td>
   <td> </td>
  </tr>
  <tr>
   <td>{{SpecName('ES6', '#sec-exports', 'Exports')}}</td>
   <td>{{Spec2('ES6')}}</td>
   <td> </td>
  </tr>
  <tr>
   <td>{{SpecName('ESDraft', '#sec-switch-statement', 'switch statement')}}</td>
   <td>{{Spec2('ESDraft')}}</td>
   <td> </td>
  </tr>
  <tr>
   <td>{{SpecName('ESDraft', '#sec-exports', 'Exports')}}</td>
   <td>{{Spec2('ESDraft')}}</td>
   <td> </td>
  </tr>
 </tbody>
</table>

<h2 id="Compatibilidad_con_navegadores">Compatibilidad con navegadores</h2>

<div class="hidden">La tabla de compatibilidad en esta pagina es generada desde datos estruturados. si quieres contribuir con los datos, revisa <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> y envianos un pull request.</div>

<p>{{Compat("javascript.statements.default")}}</p>

<h2 id="Vea_tambien">Vea tambien</h2>

<ul>
 <li>{{jsxref("Sentencias/export", "export")}}</li>
 <li>{{jsxref("Sentencias/switch", "switch")}}</li>
</ul>