【发布时间】:2013-05-23 10:11:08
【问题描述】:
在 JavaScript 中,我可以通过以下方式声明一个字符串;
var a = "Hello World";
var b = new String("Hello World");
但 a 不是 String 的实例...
console.log(a instanceof String); //false;
console.log(b instanceof String); //true;
那么你如何找到类型或“instanceof”一个字符串文字?
是否可以强制 JavaScript 为每个字符串文字创建 new String()?
【问题讨论】:
-
回答实际问题,如果您真的喜欢使用
instanceof(像我一样,讨厌typeof ==垃圾),您可以在检查对象时轻松地将它们强制转换为对象。在你的代码Object.defineProperty(Object.prototype, '_object', {get:function() { return this; }});中敲击这个,瞧,'string'._object instanceof String返回true!如果你愿意,你可以避免原型和制作函数,但这会产生最优雅的 if 语句 -
@Hashbrown 这似乎不适用于严格模式。使用严格模式时还有其他方法可以使用类似的东西吗?
标签: javascript string instanceof string-literals