📜  javascript的类型(1)

📅  最后修改于: 2023-12-03 15:16:18.357000             🧑  作者: Mango

JavaScript的类型

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"
typeof操作符

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操作符可以获取变量的类型。