
16
第一章
var myString = null; // 處理 myString 變數的值
/* myString 的原始值已被複製到 myStringCopy。我們可以更新 myString 的值,並檢查 myStringCopy
的值來確認這一點。*/
console.log(myString, myStringCopy); // log 'null foo'
</script></body></html>
本節的概要是,JavaScript 儲存與操作的原始值是不可約(irreducible)的
值
。上述範例將
myString
的值
複製
到變數
myStringCopy
,當我們更新
myString
值的時候,
myStringCopy
仍然保有舊的
myString
複本值。請記住這一點,並且將這裡的機制與複合物件比較(見
下文)。
原始值是以值來比較相等與否
我們藉由比較原始值來確認它們的字面值是否相同。邏輯上,如果你比較一個內含數值
10
的變數與另一個內含數值
10
的變數,JavaScript 會將它們視為相同,因為
10
與
10
一
樣(亦即,
10 === 10
)。當然,同樣的道理也可以應用在原始字串上:
'foo'
與其他具
有
'foo'
值的原始字串。比較的結果說明因為它們的值相同,所以它們是相同的(亦即,
'foo' === 'foo'
)。
在下列的程式中,我會使用原始數字來說明「值相同」的概念,並且將它與複合數字物件
做比較。
Live Code(http://js