Qual è la differenza tra new Number()
e Number()
? Ho capito che new Number()
crea un oggetto Number
e Number()
è solo una funzione, ma quando dovrei chiamare quale e perché?nuovo Numero() vs Numero()
In una nota correlata, 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
Perché? Pensavo che i risultati fossero gli stessi?
e 'typeof (Boolean (" true ")) ===" boolean "', mentre 'typeof (new Boolean (" true ")) ===" oggetto "'. – hobbs
"Mentre l'oggetto wrapper viene convertito automaticamente alla primitiva quando necessario" È vero, ma in qualche modo fuorviante. Gli oggetti (compresi gli oggetti 'Boolean') valutano sempre' true' in un contesto booleano: 'if (new Boolean (0)) {alert (" Oops, 0 è true. "); } '. Per ottenere il valore "previsto", chiama 'valueOf':' new Boolean (0) .valueOf() === false' –