Prefacio
Hace unos años, cuando Spidermonkey implementó el modo estricto, aprendí que el modo estricto deshabilita la escritura del área de Octal Integer. Debido a que hay evidencia de que algunos novatos utilizarán 0 de liderazgo para alinear los números en múltiples filas, lo que resulta en resultados inesperados:
var sum = 015 + // es equivalente a 13 en decimal, no 15 197 + 001; // de todos modos, es 1console.log (suma) // La suma obtenida por suma es 211, no 213 como piensan los novatos
Sin embargo, algunos desarrolladores aún necesitan enteros octales (especialmente esos desarrolladores de extensión de Mozilla y desarrolladores de Node.js), y el más común es cuando se procesan los permisos de archivos (755, 644). Por lo tanto, ES6 ha agregado un nuevo método de escritura de Integer Octal. Similar al hexadecimal 0x o 0x, el nuevo entero octal usa 0o o 0o como identificador principal, seguido de varios caracteres numéricos octales (0 a 7). Este método de escritura ya no molestará a los novatos:
var default_perms = 0o644; // también disponible en modo estricto
Vale la pena señalar que la legibilidad del prefijo 0O es demasiado pobre (0 y mayúsculas o se ve demasiado similar y es difícil de distinguir). Planteé esta pregunta en Esdiscuss, con la esperanza de deshabilitar el prefijo 0O en mayúsculas. Sin embargo, la decisión actual de TC39 todavía cree que la consistencia debería ser mayor que la legibilidad (la consistencia significa que debe ser consistente con 0x y 0b). Creo que esta decisión es discutible, y le recomiendo que nunca use upcase 0O.
Además, algunos desarrolladores también necesitan un método de escritura de cantidad de superficie entera binaria, que nunca ha sido compatible con ECMAScript. ES6 admite este método de escritura, similar a Octal y Hexadecimal, utilizando prefijos 0b o 0b:
var flt_signbit = 0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ES 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Actualmente, Firefox Aurora ha implementado estas dos sintaxis. Si eres más aventurero, también puedes usar el Firefox actualizado nocturno.
Resumir
Lo anterior es todo el contenido de este artículo. Espero que el contenido de este artículo sea útil para todos en el aprendizaje ES6. Si tiene alguna pregunta, deje un mensaje para comunicarse.