您好,登錄后才能下訂單哦!
這篇文章主要介紹了es6中的原始數(shù)據(jù)類型有哪些的相關(guān)知識(shí),內(nèi)容詳細(xì)易懂,操作簡單快捷,具有一定借鑒價(jià)值,相信大家閱讀完這篇es6中的原始數(shù)據(jù)類型有哪些文章都會(huì)有所收獲,下面我們一起來看看吧。
有6種原始數(shù)據(jù)類型:1、Null類型,表示一個(gè)“空”值,即不存在任何值;2、Undefined類型,表示未定義;3、Number類型,表示數(shù)字(整數(shù)、浮動(dòng)數(shù)等);4、String類型,一段以單引號(hào)或雙引號(hào)包裹的文本;5、Symbol類型等。
本教程操作環(huán)境:windows7系統(tǒng)、ECMAScript 6版、Dell G3電腦。
es6中有9種數(shù)據(jù)類型,它們有可以分成兩類:
原始數(shù)據(jù)類型(6種):字符串(String)、數(shù)字(Number)、布爾(Boolean)、空(Null)、未定義(Undefined)、Symbol;
引用數(shù)據(jù)類型(3種):對(duì)象(Object)、數(shù)組(Array)、函數(shù)(Function)。
下面就來聊聊6種原始數(shù)據(jù)類型。
數(shù)據(jù)類型 | 說明 |
---|---|
null | 空值,表示非對(duì)象 |
undefined | 未定義的值,表示未賦值的初始化值 |
number | 數(shù)字,數(shù)學(xué)運(yùn)算的值 |
string | 字符串,表示信息流 |
boolean | 布爾值,邏輯運(yùn)算的值 |
Symbol | 表示獨(dú)一無二的值 |
1、Null 類型
Null 是一個(gè)只有一個(gè)值的特殊數(shù)據(jù)類型,表示一個(gè)“空”值,即不存在任何值,什么都沒有,用來定義空對(duì)象指針。
使用 typeof 操作符來查看 Null 的類型,會(huì)發(fā)現(xiàn) Null 的類型為 Object
var a = null; console.log(typeof a);
說明 Null 其實(shí)使用屬于 Object(對(duì)象)的一個(gè)特殊值。因此通過將變量賦值為 Null 我們可以創(chuàng)建一個(gè)空的對(duì)象。
2、Undefined 類型
Undefined 也是一個(gè)只有一個(gè)值的特殊數(shù)據(jù)類型,表示未定義。當(dāng)我們聲明一個(gè)變量但未給變量賦值時(shí),這個(gè)變量的默認(rèn)值就是 Undefined。例如:
var num; console.log(num); // 輸出 undefined
在使用 typeof 操作符查看未賦值的變量類型時(shí),會(huì)發(fā)現(xiàn)它們的類型也是 undefined。對(duì)于未聲明的變量,使用 typeof 操作符查看其類型會(huì)發(fā)現(xiàn),未聲明的變量也是 undefined,示例代碼如下:
var message; console.log(typeof message); // 輸出 undefined console.log(typeof str); // 輸出 undefined
說明:null 、undefined的異同點(diǎn):
相同點(diǎn):都是一個(gè)值的數(shù)據(jù)類型;二者參與判斷時(shí)都返回false;二者都沒有方法
不同點(diǎn):
(a)、null 是一個(gè)對(duì)象,而undefined 不是以個(gè)對(duì)象;
(b)、null 是一個(gè)關(guān)鍵字,undefined不是關(guān)鍵字;
(c)、null轉(zhuǎn)換為數(shù)字時(shí)為0,而undefined轉(zhuǎn)換為數(shù)字時(shí)是NaN;
(d)、typeof null返回’object‘,typeof undefined 返回’undefined‘;
alert(null == undefined) ;//true
3、Number 類型
數(shù)值(Number)類型用來定義數(shù)值,JavaScript 中不區(qū)分整數(shù)和小數(shù)(浮點(diǎn)數(shù)),統(tǒng)一使用 Number 類型表示,如下例所示:
var num1 = 123; // 整數(shù) var num2 = 3.14; // 浮點(diǎn)數(shù)
注意:Number 類型所能定義的數(shù)值并不是無限的,JavaScript 中的 Number 類型只能表示 -(253 - 1) 到 (253 -1) 之間的數(shù)值。
對(duì)于一些極大或者極小的數(shù),也可以通過科學(xué)(指數(shù))計(jì)數(shù)法來表示,如下例所示:
var y=123e5; // 123 乘以 10 的 5 次方,即 12300000 var z=123e-5; // 123 乘以 10 的 -5 次方,即 0.00123
另外,Number 類型中還有一些比較特殊的值,分別為 Infinity、-Infinity 和 NaN,其中
Infinity:用來表示正無窮大的數(shù)值,一般指大于 1.7976931348623157e+308 的數(shù);
-Infinity:用來表示負(fù)無窮大的數(shù)值,一般指小于 5e-324 的數(shù);
NaN:即非數(shù)值(Not a Number 的縮寫),用來表示無效或未定義的數(shù)學(xué)運(yùn)算結(jié)構(gòu),例如 0 除以 0。
提示:如果某次計(jì)算的結(jié)果超出了 JavaScript 中 Number 類型的取值范圍,那么這個(gè)數(shù)就會(huì)自動(dòng)轉(zhuǎn)化為無窮大,正數(shù)為 Infinity,負(fù)數(shù)為 -Infinity。
在number中有一個(gè)奇葩,自身都不相等。即
alert(NaN == NaN) // false;
但是NaN 是數(shù)據(jù)類型,也就是說 typeof NaN 的返回值是’number‘;
針對(duì)上面兩個(gè)特性,ECMAScript提供了一個(gè)函數(shù)isNaN(); 用途是判斷傳入的值能否轉(zhuǎn)換為數(shù)字,返回值是boolean值。
空字符串轉(zhuǎn)換為數(shù)字是0;
將一個(gè)值轉(zhuǎn)換為數(shù)字類型可以使用Number();
4、String 類型
字符串(String)類型是一段以單引號(hào)''或雙引號(hào)""包裹起來的文本,例如 '123'、"abc"。需要注意的是,單引號(hào)和雙引號(hào)是定義字符串的不同方式,并不是字符串的一部分。
定義字符串時(shí),如果字符串中包含引號(hào),可以使用反斜杠\來轉(zhuǎn)義字符串中的引號(hào),或者選擇與字符串中不同的引號(hào)來定義字符串,如下例所示:
var str = "Let's have a cup of coffee."; // 雙引號(hào)中包含單引號(hào) var str = 'He said "Hello" and left.'; // 單引號(hào)中包含雙引號(hào) var str = 'We\'ll never give up.'; // 使用反斜杠轉(zhuǎn)義字符串中的單引號(hào)
5、Boolean 類型
布爾(Boolean)類型只有兩個(gè)值,true(真)或者 false(假),在做條件判斷時(shí)使用的比較多,您除了可以直接使用 true 或 false 來定義布爾類型的變量外,還可以通過一些表達(dá)式來得到布爾類型的值,例如:
var a = true; // 定義一個(gè)布爾值 true var b = false; // 定義一個(gè)布爾值 false var c = 2 > 1; // 表達(dá)式 2 > 1 成立,其結(jié)果為“真(true)”,所以 c 的值為布爾類型的 true var d = 2 < 1; // 表達(dá)式 2 < 1 不成立,其結(jié)果為“假(false)”,所以 c 的值為布爾類型的 false
boolean類型主要用途是用于判斷;
正常情況下,只有這六種情況下會(huì)轉(zhuǎn)為false:空字符串、null、undefined、0、-0、NaN
把一個(gè)數(shù)組如何轉(zhuǎn)換為boolean值可以用兩中方法:Boolean()、 !!()
6、Symbol 類型
Symbol 是 ECMAScript6 中引入的一種新的數(shù)據(jù)類型,表示獨(dú)一無二的值,Symbol 類型的值需要使用 Symbol() 函數(shù)來生成,如下例所示:
var str = "123"; var sym1 = Symbol(str); var sym2 = Symbol(str); console.log(sym1); // 輸出 Symbol(123) console.log(sym2); // 輸出 Symbol(123) console.log(sym1 == sym2); // 輸出 false :雖然 sym1 與 sym2 看起來是相同的,但實(shí)際上它們并不一樣,根據(jù) Symbol 類型的特點(diǎn),sym1 和 sym2 都是獨(dú)一無二的
關(guān)于“es6中的原始數(shù)據(jù)類型有哪些”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對(duì)“es6中的原始數(shù)據(jù)類型有哪些”知識(shí)都有一定的了解,大家如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。