print - Cómo "instanceof" una cadena primitiva(cadena literal) en JavaScript
type of js (3)
No es necesario escribir una new String()
para crear una nueva cadena. Cuando escribimos var x = ''test'';
declaración, crea la x
como una cadena de un tipo de datos primitivo. No podemos adjuntar las propiedades personalizadas a este x
como lo hacemos con el objeto literal. es decir. x.custom = ''abc'';
x.custom
le dará un valor indefinido. Por lo tanto, según nuestra necesidad, necesitamos crear el objeto. new String()
creará un objeto con typeof()
Object y no string. Podemos añadir propiedades personalizadas a este objeto.
Esta pregunta ya tiene una respuesta aquí:
En JavaScript, puedo declarar una cadena de las siguientes maneras;
var a = "Hello World";
var b = new String("Hello World");
pero a no es una instancia de String ...
console.log(a instanceof String); //false;
console.log(b instanceof String); //true;
Entonces, ¿cómo encontrar el tipo o " instanceof
" de una cadena literal?
¿Se puede forzar a JavaScript a crear una new String()
para cada cadena literal?
Use typeof
lugar y simplemente compare la cadena resultante. Ver docs para más detalles.
use typeof "foo" === "string"
lugar de instanceof.