In JavaScript typeof
is an operator and a function. Is it better used as an operator or a function? Why?
It's an operator, not a function.
The TypeOf function is an important tool when dealing with complex code. It allows a programmer to quickly check a variable's data type—or whether it's “undefined” or “null”—without going through the code line by line! Additionally, the TypeOf function can also check whether an operand is an object or not.
In JavaScript, the typeof operator returns the data type of its operand in the form of a string. The operand can be any object, function, or variable.
Typeof in JavaScript is an operator used for type checking and returns the data type of the operand passed to it. The operand can be any variable, function, or object whose type you want to find out using the typeof operator.
typeof
is an operator. You can easily check it using:
typeof(typeof)
Were typeof
a function, this expression would return 'function'
string, but it results in a syntax error:
js> typeof(typeof);
typein:8: SyntaxError: syntax error:
typein:8: typeof(typeof);
typein:8: .............^
so, typeof
cannot be a function. Probably parenthesis-notation typeof(foo)
made you think typeof
is a function, but syntactically, those parenthesis are not function call - they are those used for grouping, just like (2 + 3) *2
. In fact, you can add any number of them you want:
typeof(((((foo))))); // is equal to typeof foo;
I think you pick which you want based on clarity, as a habit I usually use it as an operator in the following way because it's pretty clear, at least IMO:
if(typeof thing === "string") {
alert("this is a string");
}
if(typeof thing === "function") {
alert("this is a function");
}
This is opposed to this format:
if(typeof(thing) === "string") {
alert("this is a string");
}
Which to me, makes it slightly slower to read. If you do typeof(thing)
it's the same thing, so whatever floats your boat. You can get a full read and what strings to expect from types here.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With