if (typeof myVar === 'string') { /* code */ };
function isString(x) {
return Object.prototype.toString.call(x) === "[object String]"
}
it is better to check with isFinite() rather than typeof or isNAN()
check this:
var name="somename",trickyName="123", invalidName="123abc";
typeof name == typeof trickyName == typeof invalidName == "string"
isNAN(name)==true
isNAN(trickyName)==false
isNAN(invalidName)==true
where:
isFinite(name) == false
isFinite(trickyName)== true
isFinite(invalidName)== true
so we can do:
if(!isFinite(/*any string*/))
console.log("it is string type for sure")
notice that:
isFinite("asd123")==false
isNAN("asd123")==true