输出:
var x = 5;
typeof (x) //will give number type as output
但是对于下面的代码,它返回false:
var x = 5;
x instanceof Number; //will give false as output
任何人都可以解释数字和数字之间的区别。我如何使第二个工作?
答案 0 :(得分:1)
如何使第二个工作?
instanceof
运算符检查给定变量是否是类的对象。根据MDN的定义,
instanceof
运算符测试构造函数的prototype
属性是否出现在对象的原型链中的任何位置。
要使其工作,您需要使用Number
class'(或其任何后代类')构造函数来实例化变量:
var x = new Number(5);
x instanceof Number // true
答案 1 :(得分:0)
typeof(x)
始终返回表示类型x所属的字符串。
instanceOf
运算符使用prototype
属性来标识实例是否属于某个类。
x instanceof Number;
会返回false
,因为x
是原语,永远不会返回true
。如果你确实希望它返回true,你可以将你的原语“包装”到Number
类中,如下所示:
new Number(x) instanceof Number; //will give TRUE as output