📅  最后修改于: 2023-12-03 15:16:18.357000             🧑  作者: Mango
JavaScript是一种动态弱类型语言,意味着变量的类型可以在运行时进行修改,无需在编写代码时指定类型。以下是JavaScript中常见的类型:
JavaScript有五种原始类型:数字、字符串、布尔、空值和未定义。
// 数字类型
let num = 42;
let float = 3.14;
// 字符串类型
let str = "Hello, world!";
let str2 = 'JavaScript';
// 布尔类型
let bool = true;
let bool2 = false;
// 空值类型
let empty = null;
let empty2;
console.log(typeof num); // 输出 "number"
console.log(typeof str); // 输出 "string"
console.log(typeof bool); // 输出 "boolean"
console.log(typeof empty); // 输出 "object"
console.log(typeof empty2); // 输出 "undefined"
JavaScript中除了原始类型外,还有对象类型,包括数组、函数和日期等。
// 数组类型
let arr = [1, 2, 3, 4, 5];
// 函数类型
function add(a, b) {
return a + b;
}
// 日期类型
let date = new Date();
console.log(typeof arr); // 输出 "object"
console.log(typeof add); // 输出 "function"
console.log(typeof date); // 输出 "object"
JavaScript中可以使用typeof操作符获取变量的类型。
console.log(typeof num); // 输出 "number"
console.log(typeof str); // 输出 "string"
console.log(typeof bool); // 输出 "boolean"
console.log(typeof empty); // 输出 "object"
console.log(typeof empty2); // 输出 "undefined"
console.log(typeof arr); // 输出 "object"
console.log(typeof add); // 输出 "function"
console.log(typeof date); // 输出 "object"
需要注意的是,typeof null返回"object",这是JavaScript的一个历史遗留问题。
JavaScript中有一些自动类型转换的规则,在进行运算或比较时可能会出现意外的结果。
console.log(1 + "2"); // 输出 "12"
console.log("2" * "3"); // 输出 6
console.log("2" > "12"); // 输出 true
如果需要进行类型转换,可以使用一些函数:
let numStr = "42";
let toNum = Number(numStr); // 将字符串转换为数字
let boolStr = "true";
let toBool = Boolean(boolStr); // 将字符串转换为布尔
console.log(typeof toNum); // 输出 "number"
console.log(typeof toBool); // 输出 "boolean"
JavaScript中有五种原始类型和一些对象类型,类型转换可能会导致意外的结果,需要注意。使用typeof操作符可以获取变量的类型。