JS中數(shù)據(jù)類型有哪幾種豪椿?null 是對象嗎奔坟?基本數(shù)據(jù)和復(fù)雜數(shù)據(jù)類型有什么區(qū)別?

本題地址:https://github.com/YvetteLau/Step-By-Step/issues/5

JS中基本數(shù)據(jù)類型

  • 原始數(shù)據(jù)類型 (不是對象且沒有方法)

    Boolean搭盾、Null咳秉、Undefined、Number鸯隅、String澜建、Symbol(ES6 新增)、BigInt(ES10)

    1. Boolean 類型
      表示一個邏輯實體蝌以,有兩個值:true 和 false炕舵。
    2. Null 類型
      表示缺少的標(biāo)識,指示變量未指向任何對象跟畅。
    3. Undefined 類型
      一個沒有被賦值的變量會有個默認(rèn)值 undefined咽筋。
    4. Number 類型
      根據(jù) ECMAScript 標(biāo)準(zhǔn),Number 基于 IEEE 754 標(biāo)準(zhǔn)的雙精度 64 位二進(jìn)制格式的值(-(263 -1) 到 263 -1)徊件。它并沒有為整數(shù)給出一種特定的類型奸攻。除了能夠表示浮點(diǎn)數(shù)外,還有一些帶符號的值:+Infinity虱痕,-Infinity 和 NaN (非數(shù)值睹耐,Not-a-Number)。
    5. String 類型
      用于表示文本數(shù)據(jù)部翘。它是一組16位的無符號整數(shù)值的“元素”疏橄。
    6. Symbol 類型
      表示獨(dú)一無二的值。
    7. BigInt 類型
      BigInt 是 JavaScript 中的一個新的原始數(shù)值類型略就,它可以以任意精度表示整數(shù)捎迫。使用 BigInt 可以安全地存儲和操作大型整數(shù),甚至超過數(shù)字的安全整數(shù)限制表牢。一個 BigInt 數(shù)據(jù)可以通過將 n 附加到 Integer 的末尾或通過調(diào)用構(gòu)造函數(shù)創(chuàng)建窄绒。
  • 復(fù)雜數(shù)據(jù)類型
    Object
    (emmm 這個內(nèi)容太多了)

null 是對象嗎?

不是崔兴。null 值表示缺少的標(biāo)識彰导,指示變量未指向任何對象蛔翅。

The value null is written with a literal: null. null is not an identifier for a property of the global object, like undefined can be. Instead, null expresses a lack of identification, indicating that a variable points to no object.

---------- 下面是劉小夕的答案 -----------

null 不是一個對象,盡管 typeof null 輸出的是 Object位谋,這是一個歷史遺留問題山析,JS 的最初版本中使用的是 32 位系統(tǒng),為了性能考慮使用低位存儲變量的類型信息掏父,000 開頭代表是對象笋轨,null 表示為全零,所以將它錯誤的判斷為 Object 赊淑。

基本數(shù)據(jù)和復(fù)雜數(shù)據(jù)類型有什么區(qū)別爵政?

  • 基本數(shù)據(jù)類型: 存放在棧內(nèi)存中,它們是按值存放的
  • 引用數(shù)據(jù)類型: 存放在堆內(nèi)存當(dāng)中陶缺,它們是按引用地址存放的
    在變量賦值或函數(shù)傳參時钾挟,數(shù)據(jù)傳遞的方式會有不同,基本類型是復(fù)制一份值進(jìn)行傳遞饱岸,引用類型則是傳遞了內(nèi)存地址掺出。

---------- 下面是劉小夕的答案 -----------

  1. 內(nèi)存的分配不同

基本數(shù)據(jù)類型存儲在棧中。
復(fù)雜數(shù)據(jù)類型存儲在堆中苫费,棧中存儲的變量汤锨,是指向堆中的引用地址。

  1. 訪問機(jī)制不同

基本數(shù)據(jù)類型是按值訪問黍衙。
復(fù)雜數(shù)據(jù)類型按引用訪問,JS不允許直接訪問保存在堆內(nèi)存中的對象荠诬,在訪問一個對象時琅翻,首先得到的是這個對象在堆內(nèi)存中的地址,然后再按照這個地址去獲得這個對象中的值柑贞。

  1. 復(fù)制變量時不同

基本數(shù)據(jù)類型:a=b;是將b中保存的原始值的副本賦值給新變量a方椎,a和b完全獨(dú)立,互不影響钧嘶。
復(fù)雜數(shù)據(jù)類型:a=b;將b保存的對象內(nèi)存的引用地址賦值給了新變量a;a和b指向了同一個堆內(nèi)存地址棠众,其中一個值發(fā)生了改變,另一個也會改變有决。

  let b = {
    age: 10
  }
  let a = b;
  a.age = 20;
  console.log(a); // { age: 20 }
  1. 參數(shù)傳遞的不同(實參/形參)

函數(shù)傳參都是按值傳遞(棧中的存儲的內(nèi)容):基本數(shù)據(jù)類型闸拿,拷貝的是值;復(fù)雜數(shù)據(jù)類型书幕,拷貝的是引用地址新荤。

  // 基本數(shù)據(jù)類型
  let b = 10
  function change(info) {
    info=20;
  }
  // info=b; 基本數(shù)據(jù)類型,拷貝的是值得副本台汇,二者互不干擾
  change(b);
  console.log(b); // 10

  // 復(fù)雜數(shù)據(jù)類型
  let b = {
    age: 10
  }
  function change(info) {
    info.age = 20;
  }
  // info=b; 根據(jù)第三條差異苛骨,可以看出篱瞎,拷貝的是地址的引用,修改互相影響痒芝。
  change(b);
  console.log(b); // { age: 20 }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末俐筋,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子严衬,更是在濱河造成了極大的恐慌澄者,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,378評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件瞳步,死亡現(xiàn)場離奇詭異闷哆,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)单起,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評論 2 382
  • 文/潘曉璐 我一進(jìn)店門抱怔,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人嘀倒,你說我怎么就攤上這事屈留。” “怎么了测蘑?”我有些...
    開封第一講書人閱讀 152,702評論 0 342
  • 文/不壞的土叔 我叫張陵灌危,是天一觀的道長。 經(jīng)常有香客問我碳胳,道長勇蝙,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,259評論 1 279
  • 正文 為了忘掉前任挨约,我火速辦了婚禮味混,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘诫惭。我一直安慰自己翁锡,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,263評論 5 371
  • 文/花漫 我一把揭開白布夕土。 她就那樣靜靜地躺著馆衔,像睡著了一般。 火紅的嫁衣襯著肌膚如雪怨绣。 梳的紋絲不亂的頭發(fā)上角溃,一...
    開封第一講書人閱讀 49,036評論 1 285
  • 那天,我揣著相機(jī)與錄音篮撑,去河邊找鬼开镣。 笑死,一個胖子當(dāng)著我的面吹牛咽扇,可吹牛的內(nèi)容都是我干的邪财。 我是一名探鬼主播陕壹,決...
    沈念sama閱讀 38,349評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼树埠!你這毒婦竟也來了糠馆?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,979評論 0 259
  • 序言:老撾萬榮一對情侶失蹤怎憋,失蹤者是張志新(化名)和其女友劉穎又碌,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體绊袋,經(jīng)...
    沈念sama閱讀 43,469評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡毕匀,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,938評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了癌别。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片皂岔。...
    茶點(diǎn)故事閱讀 38,059評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖展姐,靈堂內(nèi)的尸體忽然破棺而出躁垛,到底是詐尸還是另有隱情,我是刑警寧澤圾笨,帶...
    沈念sama閱讀 33,703評論 4 323
  • 正文 年R本政府宣布教馆,位于F島的核電站,受9級特大地震影響擂达,放射性物質(zhì)發(fā)生泄漏土铺。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,257評論 3 307
  • 文/蒙蒙 一板鬓、第九天 我趴在偏房一處隱蔽的房頂上張望悲敷。 院中可真熱鬧,春花似錦穗熬、人聲如沸镀迂。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至窟赏,卻和暖如春妓柜,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背涯穷。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工棍掐, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人拷况。 一個月前我還...
    沈念sama閱讀 45,501評論 2 354
  • 正文 我出身青樓作煌,卻偏偏與公主長得像掘殴,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子粟誓,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,792評論 2 345

推薦閱讀更多精彩內(nèi)容