typeof
操作符;运算符;关键字
众所周知,typeof是操作符,他可以返回你变量的类型。
但是有注意的几点:
一: typeod后面加括号与不加括号的区别
1. typeof a ;
typeof (a);
这两个,第一个是a字面量,所以会返回String;第二个是变量a,返回值就要看a是什么类型的了。
二:typeof(somevar) 如果一个变量连声明都没声明会怎么样?
答案就是,不管你这个somevar有没有声明,还是有没有初始化,都会返回undefined.
三:在let之前使用typeof
因为有一个常识就是你在let一个变量之前对这个变量进行任何操作都会抛出错误,并且没有变声声明的提升,聪明的你就会开始思考,没有变量声明的提升是不是意味着没有变量,那typeof一个没有声明的变量不会报错!事与愿违,确实报错了。
由此我们可以知道typeof不再是一个绝对安全的操作了,希望大家知道这一点。