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.