是否可以测试变量以查看它是否是原始的?测试一个变量是一个基元而不是一个对象吗?
我看过很多关于测试变量的问题,以查看它是否为对象,但不测试基元。
这个问题是学术性的,我实际上并不需要从我自己的代码中执行这个测试。我只是想深入了解JavaScript。
是否可以测试变量以查看它是否是原始的?测试一个变量是一个基元而不是一个对象吗?
我看过很多关于测试变量的问题,以查看它是否为对象,但不测试基元。
这个问题是学术性的,我实际上并不需要从我自己的代码中执行这个测试。我只是想深入了解JavaScript。
为了测试任何原始:
function isPrimitive(test) {
return (test !== Object(test));
};
实施例:
isPrimitive(100); // true
isPrimitive(new Number(100)); // false
Object
接受一个参数,并返回它是一个对象,或以其它方式返回一个对象。
然后,您可以使用严格的相等比较,比较类型和值。
如果value
是一个对象,Object(value)
将是相同的对象,所以value === Object(value)
。如果价值不是一个对象,value !== Object(value)
,因为它们会有不同的类型。
所以,你可以使用
Object(value) !== value
特定类型的原始,或者只是任何旧的不去,一个对象的原始? –
您是否尝试过使用'typeof myVar!=='object'&& typeof myVar!=='string'...'? – Justinas
相关文档:['typeof' operator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/typeof) –