JavaScript 类型可以分为两类:原始类型和对象类型。JavaScript 的基本类型包括数字、文本字符串(称为字符串)和布尔真值(称为布尔值)。
特殊的 JavaScript 值null和undefined是原始值,但它们不是数字、字符串或布尔值。每个值通常被认为是其自身特殊类型的唯一成员。ES6 添加了一种新的特殊用途类型,称为Symbol,它可以在不损害向后兼容性的情况下定义语言扩展。
任何不是数字、字符串、布尔值、符号、null 或未定义的 JavaScript 值都是对象。对象(即类型对象的成员)是属性的集合,其中每个属性都有一个名称和一个值(原始值或另一个对象)。
JavaScript 的对象类型是可变的,而其原始类型是不可变的。可变类型的值可以更改:JavaScript 程序可以更改对象属性和数组元素的值。数字、布尔值、符号、null和未定义都是不可变的——例如,谈论更改数字的值甚至没有意义。字符串可以被认为是字符数组,并且您可能期望它们是可变的。然而,在 JavaScript 中,字符串是不可变的:您可以访问字符串的任何索引处的文本,但 JavaScript 无法提供更改现有字符串文本的方法。
avaScript 可以自由地将值从一种类型转换为另一种类型。例如,如果程序需要一个字符串,而您给它一个数字,它会自动为您将该数字转换为字符串。如果您在需要布尔值的地方使用非布尔值,JavaScript 将进行相应的转换。
JavaScript 的自由值转换规则影响其相等的定义,并且 == 相等运算符执行类型转换。(然而,在实践中,== 相等运算符已被弃用,取而代之的是严格相等运算符 ===,它不进行类型转换)。
常量和变量允许您使用名称来引用程序中的值。常量用 const 声明,变量用 let 声明(或者在较旧的 JavaScript 代码中用 var)声明。JavaScript 常量和变量是无类型的:声明不指定将分配什么样的值
标签:变量,布尔值,JavaScript,字符串,对象,类型,数字 From: https://www.cnblogs.com/jiangyueniannian/p/17735862.html