这个问题是一个衍生问题[] 是 Array 的实例,但 "" 不是 String 的实例 https://stackoverflow.com/questions/12254658/is-an-instance-of-array-but-isnt-of-string
鉴于
"" instanceof String; /* false */
String() instanceof String; /* false */
new String() instanceof String; /* true */
and
typeof "" === "string"; /* true */
typeof String() === "string"; /* true */
typeof new String() === "string"; /* false */
然后,如果我有一个变量abc
我想知道它是否是一个字符串,我可以这样做
if(typeof abc === "string" || abc instanceof String){
// do something
}
是否有更简单、更短和原生的方法来执行此操作,或者我必须创建自己的函数?
function isStr(s){
return typeof s === "string" || s instanceof String;
}
if(isStr(abc)){
// do something
}
I think Object.prototype.toString.call(a) === "[object String]"
是执行此操作的最短/最原生的方法
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)