返回

原生JS数据类型详细解析,彻底扫清易混淆点

前端

在深入学习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、布尔型、数字型和字符串型。引用数据类型包括数组、对象和函数。强制类型转换可以将一种数据类型转换为另一种数据类型。