最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript中“基本類型”之爭小結(jié)

 更新時間:2013年01月03日 08:50:37   作者:  
所謂“基本類型(primitive types)”的概念ECMAScript(V3,V5)中壓根就沒有,它只是將類型分為6種,感興趣的朋友可以參考下

前端面試中常被問到的問題之一就是“JavaScript的基本類型有幾種?”。

有的回答“數(shù)字、字符串、布爾”,有的可能會再加上“Null、Undefined”。而有人可能認為“object”也是基本類型。到底是什么樣呢?

所謂“基本類型(primitive types)”的概念ECMAScript(V3,V5)中壓根就沒有,它只是將類型分為6種。

ECMAScript只提到類型,用types表示,在V3,V5整個文檔搜關(guān)鍵字“primitive”也沒見“primitive type”,“primitive value”倒是有,如true/false/0-9等。這說明規(guī)范壓根就沒有所謂的“基本類型”、“原始類型”一說(primitive types)。如果非要說有那么object明顯也是,即有6種基本類型。

一些書籍卻經(jīng)常使用這個概念,如《JavaScript高級程序設(shè)計》第一版、第二版,第三版。

第一版提到有5種原始類型,即Undefined、Null、Boolean、Number、String

第二版和第三版又搞出了個simple data type,翻譯為簡單數(shù)據(jù)類型(也稱為基本數(shù)據(jù)類型),稱對象為復(fù)雜數(shù)據(jù)類型。

另一本經(jīng)典書《JavaScript權(quán)威指南(第6版)》第3章也提到了primitive types

先分為基本類型(primitive types)和對象類型,基本類型又分為數(shù)字,字符串,布爾,及兩個特殊null,undefined。

5年前JavaScript方面的書籍還很少,這兩本書就是其中之二,影響也很大,可謂經(jīng)典。因此受此影響的JSer不乏少數(shù)。我想書作者把語言類型分為基本類型(元類型)和對象類型(復(fù)雜類型)也是符合學(xué)習(xí)邏輯的,復(fù)雜類型由簡單類型組合而成。另外也是受到其它語言如Java的影響,它們也是把類型分為基本類型(8種)和對象類型。

但ECMAScript中沒有所謂的primitive types,就好比它沒有類(class)的概念一樣(具有其它語言能力的人仍然喜歡在JavaScript使用名詞“類”)。它里面提到的就是類型,可以把它理解成基本類型,但也應(yīng)該是6種。這里的基本類型也不是Java中的基本類型,因為它包含了復(fù)雜數(shù)據(jù)類型-對象。

不是所有的書都認為JavaScript中基本類型只有5種(不包括對象),《JavaScript語言精髓與編程實踐》認為是6種,如下

它沒有將null歸為其中,卻增加了function類型。 噢,千奇百怪的答案都有,下次再有人問這個問題如何作答呢?

相關(guān)文章

最新評論

诸暨市| 富平县| 大新县| 乌鲁木齐县| 富民县| 南康市| 黄龙县| 祁连县| 汕尾市| 西吉县| 黔西县| 广东省| 无棣县| 疏勒县| 静乐县| 德钦县| 苏尼特右旗| 怀集县| 武乡县| 德清县| 天门市| 北碚区| 望都县| 新竹县| 星子县| 海南省| 梓潼县| 达日县| 浪卡子县| 南昌县| 东乌| 桐梓县| 翼城县| 乌拉特中旗| 肇东市| 龙里县| 苍梧县| 鄂托克旗| 宁安市| 渝北区| 洛宁县|