返回
JavaScript:类型与值的本质
前端
2023-12-09 14:57:07
类型:值的本质
类型是值的内部特征,它定义了值的行为,以使其区别于其他值。JavaScript 中的类型是动态的,这意味着一个变量可以存储不同类型的值。类型主要分为原始类型和引用类型。
-
原始类型包括:
- 字符串(String):由一串字符组成的值,用单引号或双引号括起来。
- 数字(Number):可以是整数或浮点数,用数字表示。
- 布尔值(Boolean):只有两种值:true 或 false。
- 未定义(undefined):表示变量尚未赋值或已被删除。
- 空(null):表示变量已被赋值为 null。
-
引用类型包括:
- 对象(Object):是一种可以存储其他值的复杂数据类型,用花括号括起来。
- 数组(Array):一种有序的、可变长度的数据类型,用方括号括起来。
- 函数(Function):一种包含可执行代码的特殊对象,用 function 定义。
值:数据的具体表现
值是数据的具体表现,它存储在变量中。变量是内存中的一块空间,用于存储值。变量可以通过赋值运算符(=)来给它赋值。例如:
let name = "John";
let age = 30;
在上面的代码中,name 和 age 是两个变量,它们分别存储着字符串值 "John" 和数字值 30。
类型转换:值的转换
类型转换是指将一种类型的值转换为另一种类型的值。JavaScript 中的类型转换分为隐式转换和显式转换。
- 隐式转换:是由 JavaScript 引擎自动完成的,它允许将一种类型的值自动转换为另一种类型的值。例如:
let num = "10";
let sum = num + 10;
在上面的代码中,字符串值 "10" 被隐式转换为数字值 10,以便与数字值 10 进行相加运算。
- 显式转换:需要使用特定的函数来完成,它允许将一种类型的值显式转换为另一种类型的值。例如:
let num = parseInt("10");
let sum = num + 10;
在上面的代码中,字符串值 "10" 被显式转换为数字值 10,以便与数字值 10 进行相加运算。
typeof运算符:查看值类型
typeof 运算符可以查看值的类型,它返回的是类型的字符串值。例如:
console.log(typeof "John"); // 输出:string
console.log(typeof 30); // 输出:number
console.log(typeof true); // 输出:boolean
console.log(typeof undefined); // 输出:undefined
console.log(typeof null); // 输出:object
注意:虽然 null 的类型是 object,但它是一个特殊的值,它表示变量已被赋值为 null。
函数:可调用的对象
函数实际上是 object 的一个"子类型"。具体的说,函数是"可调用对象",它有一个内部属性[[call]],该属性使其可以被调用。函数可以接收参数,并返回一个值。例如:
function sum(a, b) {
return a + b;
}
let result = sum(10, 20);
console.log(result); // 输出:30
在上面的代码中,sum 是一个函数,它接收两个参数 a 和 b,并返回它们的和。
总结
JavaScript 中的类型和值是两个关键概念,它们共同构建了程序的基础。深入理解类型和值之间的关系,将帮助你编写出更加高效、健壮的代码。