var value = "test string"
console.log(typeof value === "string")
function isString(value) {
if (typeof value === "string") {
return true;
}
return false;
}
var booleanValue = true;
var numericalValue = 354;
var stringValue = "This is a String";
var stringObject = new String( "This is a String Object" );
alert(typeof booleanValue) // displays "boolean"
alert(typeof numericalValue) // displays "number"
alert(typeof stringValue) // displays "string"
alert(typeof stringObject) // displays "object"
function isString(x) {
return Object.prototype.toString.call(x) === "[object String]"
}
let eventValue = event.target.value;
if (/^d+$/.test(eventValue)) {
eventValue = parseInt(eventValue, 10);
}
//If value is a string, it converts to integer.
//Otherwise it remains integer.
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