56 lines
2.0 KiB
Markdown
56 lines
2.0 KiB
Markdown
|
---
|
||
|
title: Strict Mode
|
||
|
localeTitle: Modo estricto
|
||
|
---
|
||
|
El modo estricto se introdujo en ECMAScript 5 que le permite colocar un programa o una función en un contexto operativo "estricto". Este contexto estricto evita que se tomen ciertas acciones y lanza más excepciones.
|
||
|
|
||
|
El modo estricto hace varios cambios a la semántica normal de JavaScript.
|
||
|
|
||
|
* Primero, el modo estricto elimina algunos errores silenciosos de JavaScript cambiándolos para lanzar errores.
|
||
|
* En segundo lugar, el modo estricto corrige los errores que dificultan que los motores de JavaScript realicen optimizaciones: el código del modo estricto a veces puede ejecutarse más rápido que el código idéntico que no es el modo estricto.
|
||
|
* En tercer lugar, el modo estricto prohíbe la definición de sintaxis en futuras versiones de ECMAScript.
|
||
|
|
||
|
El código de modo estricto y el código de modo no estricto pueden coexistir en un mismo script.
|
||
|
|
||
|
```javascript
|
||
|
// Non-strict code...
|
||
|
|
||
|
(function(){
|
||
|
"use strict";
|
||
|
|
||
|
// Define your library strictly...
|
||
|
})();
|
||
|
|
||
|
// Non-strict code...
|
||
|
```
|
||
|
|
||
|
## Invocando modo estricto
|
||
|
|
||
|
El modo estricto se aplica a _scripts completos_ o a _funciones individuales_ .
|
||
|
|
||
|
**Modo estricto para scripts.**
|
||
|
|
||
|
```javascript
|
||
|
// Whole-script strict mode syntax
|
||
|
|
||
|
"use strict";
|
||
|
var v = "Hi! I'm a strict mode script!";
|
||
|
```
|
||
|
|
||
|
**Modo estricto para funciones.**
|
||
|
|
||
|
```javascript
|
||
|
function strict(){
|
||
|
// Function-level strict mode syntax
|
||
|
|
||
|
'use strict';
|
||
|
function nested() { return "And so am I!"; }
|
||
|
return "Hi! I'm a strict mode function! " + nested();
|
||
|
}
|
||
|
|
||
|
function notStrict() { return "I'm not strict."; }
|
||
|
```
|
||
|
|
||
|
**Básicamente, le ayuda a cometer menos errores, al detectar cosas que podrían provocar roturas que no se detectan normalmente (modo no estricto).**
|
||
|
|
||
|
_Para más información [visita](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Strict_mode) esta [página de MDN](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Strict_mode) ._
|