关于typeof的用法

众所周知,typeof是操作符,他可以返回你变量的类型。

但是有注意的几点:

一: typeod后面加括号与不加括号的区别

1.    typeof  a ;

       typeof  (a);

这两个,第一个是a字面量,所以会返回String;第二个是变量a,返回值就要看a是什么类型的了。

二:typeof(somevar) 如果一个变量连声明都没声明会怎么样?

答案就是,不管你这个somevar有没有声明,还是有没有初始化,都会返回undefined.


三:在let之前使用typeof

因为有一个常识就是你在let一个变量之前对这个变量进行任何操作都会抛出错误,并且没有变声声明的提升,聪明的你就会开始思考,没有变量声明的提升是不是意味着没有变量,那typeof一个没有声明的变量不会报错!事与愿违,确实报错了。

由此我们可以知道typeof不再是一个绝对安全的操作了,希望大家知道这一点。


Ok这就是我去面试知乎的时候,面试官问的我的一个问题~

你可能感兴趣的:(关于typeof的用法)