JS數(shù)據(jù)類型有:
基本數(shù)據(jù)類型Number强法、String饮怯、Boolean嚎研、Null、undefined论矾、symbol贪壳、
引用數(shù)據(jù)類型對象(Object)蚜退、數(shù)組(Array)、函數(shù)(Function)
Symbol 是 ES6 引入了一種新的原始數(shù)據(jù)類型蚂且,表示獨一無二的值杏死。
1.number?
NaN 是 Number 中的一種淑翼,非Number 品追。
?js 規(guī)定的NaN與任何值都不相等,包括NaN本身惠豺。
NaN與任何類型值操作都為NAN风宁。
isNaN檢測一個變量是非數(shù)值戒财。
2.String
所有用單引號饮寞、雙引號孝扛、反引號包起來的都是字符串苦始。
其他類型轉(zhuǎn)字符串:
如:Number.toString()
3.Boolean
只有兩個字面值陌选;true和false,這兩個值與數(shù)字值不是一回事咨油,因此true不一定等于1役电,而false也不一定等于0
其他類型轉(zhuǎn)布爾值:
只有0法瑟、NaN、''氓扛、null论笔、undefined五個值轉(zhuǎn)換為false,其余都轉(zhuǎn)換為true(而且沒有任何的特殊情況)? ??
4.Null
Null類型只有一個值,那就是null。
typeof 運算符對null進(jìn)行運算時結(jié)果是object整份。
5.Undefined
Undefined類型只有一個特殊的值——undefined烈评。undefined表示"缺少值"讲冠,就是此處應(yīng)該有一個值竿开,但是還沒有定義。
典型用法:
(1)變量被聲明了疯攒,但沒有賦值時列荔,就等于undefined肌毅。
(2) 調(diào)用函數(shù)時,應(yīng)該提供的參數(shù)沒有提供呜舒,該參數(shù)等于undefined袭蝗。
(3)對象沒有賦值的屬性,該屬性的值為undefined到腥。
(4)函數(shù)沒有返回值時乡范,默認(rèn)返回undefined。
6.symbol
Symbol 本質(zhì)上是一種唯一標(biāo)識符啤咽。表示獨一無二的值晋辆。
?1、symbol函數(shù)前不能使用new關(guān)鍵字宇整,否則會報錯瓶佳,這是因為symbol是原始數(shù)據(jù)類型,而不是對象鳞青,所以不能添加屬性霸饲。
2、 symbol可以接受一個字符串作為參數(shù)臂拓,表示對Symbol的描述厚脉,主要是在控制臺顯示時容易區(qū)分。
3埃儿、 這個參數(shù)可以不加器仗,如果不加在控制臺輸出就是兩個Symbol()不利于區(qū)分融涣,加上參數(shù)就是為了加以區(qū)分精钮。
4幼东、 Symbol不能與其他值進(jìn)行運算脓杉,否則會報錯。
5、Symbol是唯一的與誰都不相等。
6皿渗、Symbol 可以顯示的轉(zhuǎn)為字符串约计,布爾值,但是不能轉(zhuǎn)為數(shù)字,轉(zhuǎn)為數(shù)字會報錯
7翰苫、由于每一個Symbol都不相同,那么可以作為標(biāo)識符作為對象的屬性名,保證不會出現(xiàn)同名的的屬性。
?8、Symbol值作為對象的屬性名時不能使用點運算符令漂,同理妹窖,在對象的內(nèi)部使用Symbol值時也必須放在方括號中。