typeof 和 instanceofJS数据类型(js的问题)
2023-12-23 08:45:11
- 原始类型(基本类型)Undefined Null Boolean Number String
- 引用类型(复杂类型)Object
1、typeof检测返回对应数据类型
console.log(typeof 123); // number
console.log(typeof true); // boolean
console.log(typeof "hello"); // string
console.log(typeof undefined); // undefined
console.log(typeof null); // object
// 计算机typeof 按照机器码后3位判断数据类型
// null 00000000 => object后3位为0
console.log(typeof []); // object
console.log(typeof {}); // object
console.log(typeof new Date()); // object
console.log(typeof function () {}); // function
console.log(typeof Array); // function
// typeof 引用类型 object function
// object + call方法 => function
字符串示例
var name1 = "Tom";
console.log(name1); // Tom
console.log(typeof name1); //string
var name2 = new String("Tom");
console.log(name2);
// String {"Tom"}
// 0: "T"
// 1: "o"
// 2: "m"
// length: 3
console.log(typeof name2); // object
总结:
typeof 少null, 多function
2、instanceof检测返回bool: true/false
console.log([] instanceof Array); // true
console.log({} instanceof Object); // true
console.log(new Date() instanceof Date); // true
function Person() {}
console.log(new Person() instanceof Person); // true
console.log([] instanceof Object); // true
console.log(new Date() instanceof Object); // true
console.log(new Person() instanceof Object); // true
instanceof 原型链查找
A instanceof B == True
B instanceof C == True
=> A instanceof C == True
console.log(Object.prototype.toString.call("1")); // [object String]
console.log(Object.prototype.toString.call([])); // [object Array]
总结:
1.typeof 返回值是一个字符串:
? ? ?1.number string boolean
? ? ?2.function(函数)
? ? ?3.object(null,数组,对象)
? ? ?4.undefined
2.instanceof 返回布尔值,判断A 是否为B 的实例对象,检测的是原型
文章来源:https://blog.csdn.net/dxn16638400024/article/details/135161826
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!