JS:数据类型检测的方式有那些(*****五颗星)
1.typeof
其中数组、对象、null都会被判断为object,其他判断都正确。
<script> console.log(typeof 2); // number console.log(typeof true); // boolean console.log(typeof 'str'); // string console.log(typeof undefined); // undefined console.log(typeof null); // object console.log(typeof []); // object console.log(typeof {}); // object console.log(typeof function () { }); // function </script>
2.instanceof
instanceof可以正确判断对象的类型,其内部运行机制是判断在其原型链中能否找到该类型的原型。
instanceof只能正确判断引用数据类型,而不能判断基本数据类型。instanceof 运算符可以用来测试一个对象在其原型链中是否存在一个构造函数的 prototype 属性。
用法:实例对象 instanceof 构造函数。如 A instanceof B A(实例对象)的类型是不是B(构造函数)
<script> console.log(2 instanceof Number); // false console.log(true instanceof Boolean); // false console.log('str' instanceof String); // false console.log([] instanceof Array); // true console.log(function () { } instanceof Function); // true console.log({} instanceof Object); // true console.log([] instanceof Object); //true console.log(function(){} instanceof Object) //true console.log(null instanceof Object) //false </script>
3.constructor
定:使用constructor属性可以获取到创建对象使用的构造器函数(类),即获取构造函数(又叫构造器)。
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
前端面试题 文章被收录于专栏
前端面试的一些常问问题、问题的具体实现(可直接运行)以及底层原理