typeof 和 instanceofJS数据类型(js的问题)

简介: typeof 和 instanceofJS数据类型(js的问题)
  • 原始类型(基本类型)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 的实例对象,检测的是原型

相关文章
|
5天前
|
JavaScript 前端开发
js变量的作用域、作用域链、数据类型和转换应用案例
【4月更文挑战第27天】JavaScript 中变量有全局和局部作用域,全局变量在所有地方可访问,局部变量只限其定义的代码块。作用域链允许变量在当前块未定义时向上搜索父级作用域。语言支持多种数据类型,如字符串、数字、布尔值,可通过 `typeof` 检查类型。转换数据类型用 `parseInt` 或 `parseFloat`,将字符串转为数值。
18 1
|
5天前
|
JavaScript
JS 获取对象数据类型的键值对的键与值
JS 获取对象数据类型的键值对的键与值
|
5天前
|
存储 JavaScript 前端开发
JavaScript数据类型详解
【4月更文挑战第4天】JavaScript有七种基本数据类型(Number, String, Boolean, Null, Undefined, Symbol, BigInt)和一种复杂数据类型(Object)。Number用于数字,String是不可变的文本,Boolean表示逻辑值,Null为空,Undefined表示未赋值,Symbol是唯一标识,BigInt处理大整数。Object用于复杂数据结构,如数组和函数。此外,`typeof`操作符检测数据类型,但有特殊行为,如`typeof null === "object"`。
23 2
|
5天前
|
JavaScript 前端开发
JavaScript 中有哪些数据类型?
JavaScript 中有哪些数据类型?
19 3
|
5天前
|
JavaScript
JS常用数据类型转换
JS常用数据类型转换
19 1
|
5天前
|
JavaScript
数据类型转换(js的问题)
数据类型转换(js的问题)
10 0
|
5天前
|
存储 JavaScript 前端开发
【JavaScript技术专栏】JavaScript基础入门:变量、数据类型与运算符
【4月更文挑战第30天】本文介绍了JavaScript的基础知识,包括变量(var、let、const)、数据类型(Number、String、Boolean、Undefined、Null及Object、Array)和运算符(算术、赋值、比较、逻辑)。通过实例展示了如何声明变量、操作数据类型以及使用运算符执行数学和逻辑运算。了解这些基础知识对初学者至关重要,是进阶学习JavaScript的关键。
|
3天前
|
存储 前端开发 JavaScript
JavaScript数据类型归纳,架构师花费近一年时间整理出来的前端核心知识
JavaScript数据类型归纳,架构师花费近一年时间整理出来的前端核心知识
JavaScript数据类型归纳,架构师花费近一年时间整理出来的前端核心知识
|
5天前
|
存储 JavaScript 前端开发
JavaScript引用数据类型
JavaScript引用数据类型
|
5天前
|
JavaScript 前端开发
JavaScript 基本数据类型
JavaScript 基本数据类型