typeof x返回字符串而不是对象,因为null的类型是object

时间:2017-04-02 16:59:39

标签: javascript

我是js的新手,试图了解js,你能告诉我为什么typeof typeof x会返回string,如果我明白这一点,请提供下面的代码段这个概念会对我有所帮助:

var x=null;
console.log(typeof typeof x);

3 个答案:

答案 0 :(得分:7)

typeof x返回x类型的字符串表示形式。所以,typeof typeof x自然是字符串。

来自MDN

  

typeof运算符返回字符串,表示未评估的操作数的类型。

答案 1 :(得分:1)

检查这个简单的例子,它将清除你的怀疑:

var a = null;

console.log(typeof a, typeof a === 'object')

var b = function (){};

console.log(typeof b, typeof b === 'function')

var c = "";

console.log(typeof c, typeof c === 'string')

原因typeof返回一个字符串,其中包含您提供的值的类型,当您检查typeof返回的值时,它将采用字符串形式,像:

'object', 'function', 'string' etc.

您正在检查typeof "object",这就是它返回string的原因。

答案 2 :(得分:1)

typeof运算符,用于查找JavaScript变量的数据类型 //自JavaScript开始以来就是这样 typeof null ==='object';

var x=null;
var x=(typeof x);
it returns "object";
var y=typeof "object";
it returns string
so 
console.log(typeof typeof x);
show string