1.JavaScript定義了幾種數(shù)據(jù)類型快集?哪些是原始類型?原始類型和復(fù)雜類型的區(qū)別是什么廉白?
ECMAScript中有5種簡單數(shù)據(jù)類型(也稱為基本數(shù)據(jù)類型):Undefined,Null,Boolean,Number,String.
其中Boolen,Number,String為原始數(shù)據(jù)類型个初,Undefined,Null一般將其看為特殊值。
1種復(fù)雜數(shù)據(jù)類型:Object.
Object本質(zhì)上是由一組無序的名值對組成的猴蹂。
ES6中新出了一個Symbol類型院溺。
ECMAScirpt不支持任何創(chuàng)建自定義類型的機制,而所有值最終都將是上述7種數(shù)據(jù)類型之一磅轻。
- Unndefined類型:該類型只有一個值珍逸,即特殊的undefined逐虚。在使用var聲明變量但未對其加以初始化時,這個變量的值就是undefined谆膳。無論在什么情況下都沒有必要把一個變量的值顯式地設(shè)置為undefined叭爱。
- Nunll類型:該類型同樣只有一個值,即null漱病。從邏輯角度來看买雾,null表示一個空的之爭對象,而這也正式使用typeof操作符檢測null值時會返回object的原因杨帽。事實上漓穿,undefined值是派生自null值的。
- Boolean類型:該類型有兩個值:true和false睦尽,并且著兩個值是區(qū)分大小寫的器净。ECMAScript中所有類型的值都有與這兩個Boolean值等價的值型雳,這些轉(zhuǎn)換規(guī)則對理解流控制語句(如if語句)自動執(zhí)行相應(yīng)的Boolean轉(zhuǎn)換非常重要
- Number類型:最基本的數(shù)值字面量格式是十進(jìn)制整數(shù)当凡,整數(shù)還可以通過八進(jìn)制、十六進(jìn)制來表示
- String類型:用于表示由零個或多個16位Unicode字符組成的字符序列纠俭,即字符串沿量。字符串可以由雙引號或單引號表示。但是雙引號開頭必須雙引號結(jié)尾冤荆,單引號開頭單引號結(jié)尾朴则。ECMAScript中字符串是不可變的,一旦創(chuàng)建钓简,它們的值不可改變乌妒。必須通過銷毀—重新填充,才能改變字符串的值外邓。
- Object類型:Object類型就是一組數(shù)據(jù)和功能的集合撤蚊。在ECMAScript中Object類型是所有它的實例的基礎(chǔ)。換句話說损话,Object類型所具有的任何屬性和方法也同樣存在與更具體的對象中侦啸。