JavaScript 中有八种基本数据类型:
- Number:用于表示整数和浮点数(例如:42、3.14159)。
- BigInt:用于表示任意大小的整数(例如:9007199254740991n,注意'n'后缀)。
- String:用于表示文本数据或字符序列(例如:"Hello, World!")。
- Boolean:用于表示逻辑值,即真(true)或假(false)。
- Symbol:表示唯一的、不可变的原始值,通常用于对象属性的键(例如:Symbol('myKey'))。
- Null:表示一个空值或"无"的值,通常用于表示一个对象变量没有指向任何对象。
- Undefined:表示一个未定义的值,即该变量没有被赋值。
- Object:用于表示复杂的数据结构,例如数组、函数、日期、正则表达式等。
判断 JavaScript 数据类型的方法主要有两种:使用 typeof 操作符和 instanceof 操作符。
- 使用 typeof 操作符:它返回一个字符串,表示其操作数的数据类型。例如:
javascriptconsole.log(typeof 42); // "number" console.log(typeof "hello"); // "string" console.log(typeof true); // "boolean" console.log(typeof null); // "object" console.log(typeof undefined); // "undefined"
- 使用 instanceof 操作符:它用于测试构造函数的 prototype 属性是否出现在对象的原型链中的任何位置。例如:
javascriptconst myArray = [1, 2, 3]; console.log(myArray instanceof Array); // true
请注意,typeof 操作符对于函数类型会返回 "function",对于 null 和 undefined 会返回 "object"。同时,它不能正确判断 Date、RegExp、Error 等对象类型。因此,在实际应用中可能需要更复杂的方法来判断 JavaScript 的数据类型。