4.原始類型優(yōu)于封裝對(duì)象

除對(duì)象之外,JavaScript有5個(gè)原始值類型:布爾值、數(shù)字、字符串、null和undefined。同時(shí)標(biāo)準(zhǔn)庫(kù)提供了構(gòu)造函數(shù)來(lái)封裝布爾值、數(shù)字和字符串作為對(duì)象。你可以創(chuàng)建一個(gè)String對(duì)象,String對(duì)象是真正的對(duì)象。

var s = new String("hello");
s + " world"; // hello world
s[4]; // "o"
typeof "hello"; // "string"
typeof s; // "Object"

由于每個(gè)String對(duì)象都是一個(gè)獨(dú)立的對(duì)象,其總是只等于自身。

var s1 = new String("hello");
var s2 = new String("hello");
s1 == s2; // false
s1 === s2; // false

當(dāng)對(duì)原始值提取屬性和進(jìn)行方法調(diào)用時(shí),它表現(xiàn)得就像已經(jīng)使用了對(duì)應(yīng)的對(duì)象封裝了該值一樣。

"hello".toUpperCase(); // "HELLO"

你可以對(duì)原始值設(shè)置屬性,但是對(duì)其絲毫沒(méi)有影響。

"hello".someProperty = 17;
"hello".somProperty; // undefined

每次隱式封裝都會(huì)產(chǎn)生一個(gè)新的String對(duì)象,更新第一個(gè)封裝對(duì)象并不會(huì)造成持久的影響。對(duì)原始值設(shè)置屬性是沒(méi)有意義的。

提示

  • 當(dāng)做相等比較時(shí),原始類型的封裝對(duì)象與其原始值行為不一樣。
  • 獲取和設(shè)置原始類型值的屬性會(huì)隱式地創(chuàng)建封裝對(duì)象。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 國(guó)家電網(wǎng)公司企業(yè)標(biāo)準(zhǔn)(Q/GDW)- 面向?qū)ο蟮挠秒娦畔?shù)據(jù)交換協(xié)議 - 報(bào)批稿:20170802 前言: 排版 ...
    庭說(shuō)閱讀 12,533評(píng)論 6 13
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法,類相關(guān)的語(yǔ)法,內(nèi)部類的語(yǔ)法,繼承相關(guān)的語(yǔ)法,異常的語(yǔ)法,線程的語(yǔ)...
    子非魚(yú)_t_閱讀 34,853評(píng)論 18 399
  • 絕大多數(shù)的人是不知道自己會(huì)死的,大都認(rèn)為死亡是別人的事。 我們先來(lái)了解兩個(gè)基本概念:心智和諦念。心智,每個(gè)人都有,...
    任若水閱讀 1,303評(píng)論 3 1
  • 洋洋對(duì)著婆婆的遺像說(shuō)“我也覺(jué)得......我也老了”的時(shí)候淚如泉涌,仿佛年華一幀一幀的逝去。 《一一》是這兩年除了...
    JellyBeann閱讀 440評(píng)論 0 0
  • 寫(xiě)下這樣一個(gè)題目不是為了證明我讀過(guò)村上春樹(shù)的這本叫做《當(dāng)我跑步時(shí)我談些什么》的書(shū),而想說(shuō)是有時(shí)候我們真的需要放下手...
    李老四lilaofour閱讀 518評(píng)論 0 2

友情鏈接更多精彩內(nèi)容