JS基礎(chǔ) 之最新8種數(shù)據(jù)類型(原始數(shù)據(jù)類型和引用數(shù)據(jù)類型)

一、JS數(shù)據(jù)類型分為兩類原始數(shù)據(jù)類型和引用數(shù)據(jù)類型

二、原始數(shù)據(jù)類型

javascript 的原始數(shù)據(jù)類型有七種,分別是Number、String、Boolean、null、undefined、symbol 、 BigInt

原始類型數(shù)據(jù)的特點(diǎn):值保存在變量本地,且賦值給其他變量后,其它變量改變不影響原來的值,變量存放在棧區(qū)的(棧區(qū)指內(nèi)存里的棧內(nèi)存).
1.boolean true & false

專門用來保存真或者假的類型,值二選一

2.null 空值類型

不指向任何地址,用于手動(dòng)賦值,清空內(nèi)容

3.undefined 未定義類型

 只有一個(gè)值undefined,用于沒有賦值的變量的默認(rèn)值

4.number 數(shù)值類型

 專門保存數(shù)字的類型,用于進(jìn)行數(shù)學(xué)計(jì)算等的數(shù)值.
 所占空間:64位(8個(gè)字節(jié))二進(jìn)制保存.注:一個(gè)字節(jié)8個(gè)位.

5.string 字符串類型

專門用來保存字符串的類型;" ",用來存儲(chǔ)字符串類型的文本.
 所占空間:使用unicode標(biāo)識(shí)的.英文字母和標(biāo)點(diǎn)對(duì)應(yīng)的是1字節(jié),而一個(gè)漢字對(duì)應(yīng)的則是兩個(gè)字節(jié).

6.symbol (ES6新增)

本質(zhì)上是一種唯一標(biāo)識(shí)符,可用作對(duì)象的唯一屬性名

7.BigInt (最新)

用于當(dāng)整數(shù)值大于Number數(shù)據(jù)類型支持的范圍時(shí)
1、要?jiǎng)?chuàng)建BigInt,只需要在數(shù)字末尾追加n即可
console.log( 9007199254740995n );    // → 9007199254740995n
2、創(chuàng)建BigInt的方法是用BigInt()構(gòu)造函數(shù)
BigInt("9007199254740995");    // → 9007199254740995n

三、引用數(shù)據(jù)類型

Object,Function,Array (在JS中除了基本數(shù)據(jù)類型以外的都是對(duì)象,數(shù)組是對(duì)象,函數(shù)是對(duì)象,正則表達(dá)式是對(duì)象)
引用數(shù)據(jù)類型的特點(diǎn):引用類型的值是可變的;引用類型的值是保存堆內(nèi)存中的對(duì)象;引用數(shù)據(jù)類型值的比較本質(zhì)上是內(nèi)存地址的比較.

四、兩種數(shù)據(jù)類型的區(qū)別

1、聲明變量時(shí)內(nèi)存分配不同

  • 原始類型:在棧中,因?yàn)檎紦?jù)空間是固定的,可以將他們存在較小的內(nèi)存中-棧中,這樣便于迅速查詢變量的值

  • 引用類型:存在堆中,棧中存儲(chǔ)的變量,只是用來查找堆中的引用地址。

2、訪問機(jī)制不同

  • 在javascript中是不允許直接訪問保存在堆內(nèi)存中的對(duì)象的,所以在訪問一個(gè)對(duì)象時(shí),首先得到的是這個(gè)對(duì)象在堆內(nèi)存中的地址,然后再按照這個(gè)地址去獲得這個(gè)對(duì)象中的值,這就是按引用訪問。
  • 而原始類型的值則是可以直接訪問到的。

3、復(fù)制變量時(shí)的不同

  • 原始值:在將一個(gè)保存著原始值的變量復(fù)制給另一個(gè)變量時(shí),會(huì)將原始值的副本賦值給新變量,此后這兩個(gè)變量是完全獨(dú)立的,他們只是擁有相同的value而已。

  • 引用值:在將一個(gè)保存著對(duì)象內(nèi)存地址的變量復(fù)制給另一個(gè)變量時(shí),會(huì)把這個(gè)內(nèi)存地址賦值給新變量,也就是說這兩個(gè)變量都指向了堆內(nèi)存中的同一個(gè)對(duì)象,他們中任何一個(gè)作出的改變都會(huì)反映在另一個(gè)身上。

?著作權(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),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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