在JavaScript,一个原语(primitive–原语值,原语数据类型)是一个数据,不是一个对象并且没有方法。有七种原语数据类型:
- string
- number
- bigint
- boolean
- null
- undefined
- symbol
一般,原语表现为语言实现的最底层。
所有的原语是不可改变的
(immutable
)。这里面不要混淆一个原语本身和一个被分配类原语值的变量。一个变量可以重新分配一个值,但是这个存在的值不能使用objects
,arrays
和functions
改变。
Example
这个例子帮你理解原语值是不可改变的。
// 使用一个字符串方法不能改变一个字符串
var bar = "baz";
console.log(bar); // bar
bar.toUpperCase();
console.log(bar) // bar
// 使用数组方法改变数组
var foo = [];
console.log(foo); // []
foo.push('plugh');
console.log(foo) // ['plugh']
// 赋值给原语一个新(不可改变的)值
bar = bar.toUpperCase() // BAZ
一个原语能够被替换,但不能直接改变。
另一个例子[递进]
以下的例子将帮助你理解JavaScript如何处理原语。<