Estos son los que puedo decir en la parte superior de mi cabeza:
- Inserción automática de punto y coma (
;
) sin previo aviso (y en mi humilde opinión, en absoluto); las consecuencias en las declaraciones dereturn
ythrow
, y varias otras trampas sutiles (por ejemplo, una expresión de asignación no válida que abarca varias líneas puede convertirse en dos declaraciones separadas válidas) - Alcance global para variables no declaradas sin advertencia ; estrechamente relacionado,
with
declaración - El alcance léxico se introduce solo con funciones, no bloques en general (corregido en versiones más recientes con la declaración
let
) - Las reglas para la conversión de tipo
==
(por ejemplo, convertir una cadena en un número si hay un número involucrado), solo use===
menos que esté realmente seguro de que necesita==
; Del mismo modo, las reglas para+
(por ejemplo, convertir cualquier cosa en una cadena si hay una cadena involucrada) - Los números son flotantes dobles, lo que significa enteros secuenciales hasta [matemática] 2 ^ {53} [/ matemática], y sin bignums fuera de la caja
- Las operaciones bit a bit se definen para enteros de 32 bits, y las únicas que realizan / “saben” sobre el complemento de uno cuando se convierte de nuevo a doble flota
- No poder definir campos ocultos, sin propiedades, sin reflejo adecuado en general (corregido en versiones más recientes)
- Los argumentos de llamada de función y los parámetros declarados de función no tienen que coincidir, ya sea por exceso (más o menos bien, aunque preferiría, por ejemplo, puntos suspensivos decir que en realidad puede tomar más argumentos) o por omisión (no está bien, no sin contar la sintaxis adecuada que algunos parámetros son opcionales)
- Los motores de navegador JS flacky a lo largo de los años, a menudo incompletos para la versión JS que pretenden implementar, plagados de errores y características específicas que las personas tienden a abusar y luego se quejan de que no funciona con todos los navegadores
Si los conoce, puede hacer cosas buenas con JavaScript. Si no los conoce, eventualmente se disparará en el pie y comenzará a notar todas las armas cargadas que dejó en sus bolsillos.
- ¿Cómo se puede crear una aplicación gratis?
- ¿Qué es la red de datos con nombre?
- ¿Cómo pueden las soluciones inteligentes de equipaje ayudar a los viajeros?
- ¿Cuáles son las estructuras de datos probabilísticas más importantes?
- ¿Cuáles son algunos tipos de 'características' para el aprendizaje automático?