¿Cuál es la diferencia entre new Number()
y Number()
? Obtuve que new Number()
crea un objeto Number
y Number()
es solo una función, pero ¿cuándo debo llamar a cuál, y por qué?nuevo Número() vs Número()
En una nota relacionada, Mozilla dice:
Do not use a Boolean object to convert a non-boolean value to a boolean value. Instead, use Boolean as a function to perform this task.
x = Boolean(expression); // preferred
x = new Boolean(expression); // don't use
¿Por qué? Pensé que los resultados eran los mismos?
y 'typeof (Boolean (" true ")) ===" boolean "', mientras que 'typeof (new Boolean (" true ")) ===" object "'. – hobbs
"Mientras que el objeto contenedor se convertirá a la primitiva automáticamente cuando sea necesario" Eso es cierto, pero un tanto engañoso. Los objetos (incluidos los objetos 'Boolean') siempre evalúan a' true' en un contexto booleano: 'if (new Boolean (0)) {alert (" Oops, 0 is true. "); } ' Para obtener el valor "esperado", llame a 'valueOf':' new Boolean (0) .valueOf() === false' –