この質問は[]のスピンオフですが、配列のインスタンスですが、「」は文字列ではありません
とすれば
"" instanceof String; /* false */
String() instanceof String; /* false */
new String() instanceof String; /* true */
と
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
}