返回
原生JS数据类型详细解析,彻底扫清易混淆点
前端
2024-02-23 19:54:25
在深入学习JavaScript之前,对数据类型有一个清晰的认识是至关重要的。JavaScript的数据类型分为两大类:原始数据类型和引用数据类型。原始数据类型存储的是值,而引用数据类型存储的是对内存中对象的引用。原始数据类型包括undefined、null、布尔型、数字型和字符串型。
原始数据类型
原始数据类型存储的都是值,是没有函数可以调用的。例如,undefined.toString()会存在错误,因为undefined没有toString()方法。
console.log(undefined.toString()); // TypeError: undefined is not a function
但是,由于存在强制类型转换,所以会出现原始类型的函数调用的情况。例如,以下代码会将undefined强制转换为字符串类型,然后调用toString()方法。
console.log(String(undefined).toString()); // "[object String]"
原始数据类型包括以下几种:
- undefined :表示变量尚未赋值或函数没有返回值。
- null :表示空值。
- 布尔型 :表示真或假。
- 数字型 :表示整数或浮点数。
- 字符串型 :表示一段文本。
引用数据类型
引用数据类型存储的是对内存中对象的引用。例如,数组、对象和函数都是引用数据类型。引用数据类型可以通过点运算符(.)来访问其属性和方法。
const person = {
name: "John",
age: 30
};
console.log(person.name); // John
console.log(person.age); // 30
引用数据类型还可以通过方括号运算符([])来访问其元素。
const array = [1, 2, 3, 4, 5];
console.log(array[0]); // 1
console.log(array[2]); // 3
强制类型转换
强制类型转换是指将一种数据类型转换为另一种数据类型。强制类型转换可以通过以下几种方式进行:
- 使用类型转换函数 :JavaScript提供了多种类型转换函数,例如Number()、String()和Boolean()。
- 使用双等号运算符(==) :双等号运算符可以将一种数据类型隐式转换为另一种数据类型。
- 使用三等号运算符(===) :三等号运算符可以将一种数据类型显式转换为另一种数据类型。
总结
JavaScript的数据类型非常丰富,包括原始数据类型和引用数据类型。原始数据类型存储的是值,而引用数据类型存储的是对内存中对象的引用。原始数据类型包括undefined、null、布尔型、数字型和字符串型。引用数据类型包括数组、对象和函数。强制类型转换可以将一种数据类型转换为另一种数据类型。