这个问题是[]的一个衍生产品,是Array的一个实例,但""不是String的实例
鉴于
"" instanceof String; /* false */
String() instanceof String; /* false */
new String() instanceof String; /* true */
Run Code Online (Sandbox Code Playgroud)
和
typeof "" === "string"; /* true */
typeof String() === "string"; /* true */
typeof new String() === "string"; /* false */
Run Code Online (Sandbox Code Playgroud)
然后,如果我有一个变量abc,我想知道它是否是一个字符串,我可以做
if(typeof abc === "string" || abc instanceof String){
// do something
}
Run Code Online (Sandbox Code Playgroud)
有没有更简单,更短和本地的方式,或者我必须创建自己的功能?
function isStr(s){
return typeof s === "string" || s instanceof String;
}
if(isStr(abc)){
// do something
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7649 次 |
| 最近记录: |