es6數據類型有七種:1、Boolean(布爾型);2、Null(空類型);3、Undefined(未賦值類型);4、Number(數值類型);5、String(字符串類型);6、Symbol(獨一無二類型);7、Object(對象類型)。
本文操作環境:windows10系統、Vue2.9.6版,DELL G3電腦。
es6數據類型有哪幾種
es6t定義了7種數據類型:6種原始數據類型、1種對象類型。
分別是:
-
Boolean
-
Null
-
Undefined
-
Number
-
String
-
Symbol
-
Object
詳細介紹:
1、一個值數據類型:null 、undefined
自定義個變量沒有必要顯示的定義為undefined,但是對于null而言就是不行的,也就是說:只要意在保存對象但是還沒有真正的保存對象,就應該明確的讓變量保存null值。
主要總結二者的異同點:
相同點:都是一個值的數據類型;二者參與判斷時都返回false;二者都沒有方法
不同點:(a)、null 是一個對象,而undefined 不是以個對象;(b)、null 是一個關鍵字,undefined不是關鍵字;(c)、null轉換為數字時為0,而undefined轉換為數字時是NaN;(d)、typeof null返回’object‘,typeof undefined 返回’undefined‘;
alert(null == undefined) ;//true
2、兩個值的數據類型:boolean 即true 和false
主要用途是用于判斷;
正常情況下,只有這六種情況下會轉為false:空字符串、null、undefined、0、-0、NaN
把一個數組如何轉換為boolean值可以用兩中方法:Boolean()、 !!()
3、三個值的數據類型:number 即整數、浮點數、NaN(個人分類,不重要)。
使用number時建議:盡量使用十進制,少用十六進制,不用八進制。
在使用浮點數時不要進行數據的比較。0.1+0.2不要與0.3進行比較。原因就是計算機采用二進制表示數據,0.1的二進制表示數加上0.2的二進制表示數不等于0.3的二進制表示數。
在number中有一個奇葩,自身都不相等。即alert(NaN == NaN) // false;
但是NaN 是數據類型,也就是說 typeof NaN 的返回值是’number‘;
針對上面兩個特性,ECMAScript提供了一個函數isNaN(); 用途是判斷傳入的值能否轉換為數字,返回值是boolean值。
空字符串轉換為數字是0;
將一個值轉換為數字類型可以使用Number();
4、String 字符串
字符串一般用雙引號或者單引號表示,推薦是使用單引號進行字符串的表示。
字符串的特點:在ECMAScript中的字符串是不可變的,也就是說,字符串一旦創建,它的值就不被改變,要是改變字符串的值,就先銷毀原來字符串,然后在用一個包含新值字符串填充該變量。
將一個值轉化為字符串類型,有兩個方式,一是調用toString()方法;另一個就是String();
注意:null、undefined沒有toString()方法。
5、Symbol
Symbol的值有兩種。一種是原來的屬性名。一種是有Symbol()生成的屬性名,由于其表示獨一無二,所以該屬性名不會沖突。
使用Symbol時注意:Symbol函數前不能用new操作符(Symbol是一個原始數據類型,不是對象);不能為Symbol添加方法;symbol是類字符串形式的基本數據類型;symbol可以轉化為字符串(兩種方式,前面已經介紹了。),可以轉換為boolean,但是不能轉化為Number。
使用Symbol()時最好為其傳入參數,不傳入參數時,使用typeof 時都是返回'symbol',加入參數時就會返回'symbol(參數)',容易區分;由于symbol的值是獨一無二的,即使是傳入相同的參數,二者的值也是不等的。
由于Symbol的值是獨一無二的,所以可以作為屬性名存在,但是作為屬性名是,不能進行點(.)操作,所有的Symbol值都放在方括號([])中。
【