在JavaScript中,可以使用 var 关键字定义数据类型:
1. 数字类型(Number):表示整数或浮点数。
var age = 30;
var price = 9.99;
2. 字符串类型(String):表示文本数据。
var message = "Hello, world!";
var firstName= 'John';
3. 布尔类型(Boolean):代表 `true` 或 `false` 值。
var isStudent = true;
var isLoggedIn = false;
4. 空类型(Null):用于存储未知或不存在的值。
var myNull = null;
5. 未定义类型(Undefined):未被赋以任何值的变量默认为undefined。
var myVar;
console.log(myVar); // 输出 undefined
6. 符号类型(Symbol):在ES6 中添加,它用于创建唯一的标识符。
var sym1 = Symbol('foo');
var sym2 = Symbol('foo');
console.log(sym1 === sym2); // 输出 false
typeof 是一个 JavaScript 运算符,用于检测操作数的数据类型。它返回一个字符串,表示操作数的类型。
var a = 1;
console.log(typeof a); // 输出 "number"
var b = true;
console.log(typeof b); // 输出 "boolean"
var c = "Hello, world!";
console.log(typeof c); // 输出 "string"
var d = {};
console.log(typeof d); // 输出 "object"
var e = null;
console.log(typeof e); // 输出 "object" (特例)
var f;
console.log(typeof f); // 输出 "undefined"
var g = Symbol('foo');
console.log(typeof g); // 输出 "symbol"
需要注意的是,typeof 返回 "object" 的情况有两种:当值为 null 或对象时。这是历史遗留问题,可以通过使用 Object.prototype.toString.call() 去正确地检测数据类型。