本篇內(nèi)容主要講解“javascript中有幾種數(shù)據(jù)類型”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“javascript中有幾種數(shù)據(jù)類型”吧!
創(chuàng)新互聯(lián)公司主要從事成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)文安,十余年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):13518219792
javascript中有8種數(shù)據(jù)類型,分別是number、string、boolean、null、undefined、symbol、bigint和object。
本文操作環(huán)境:windows10系統(tǒng)、javascript 1.8.5、thinkpad t480電腦。
首先在 js 中數(shù)據(jù)類型分為原始數(shù)據(jù)類型與引用數(shù)據(jù)類型
原始數(shù)據(jù)類型
number
string
boolean
null
undefined
symbol (ES6)
bigint (ES10)
引用數(shù)據(jù)類型
object
在引用數(shù)據(jù)類型 object 中包括function/array/object
看到這里我們可以發(fā)現(xiàn)總共是 8 種數(shù)據(jù)類型。
ES6新增:Symbol
這種數(shù)據(jù)類型主要用于創(chuàng)建一個獨一無二的標(biāo)識,不廢話,上代碼:
let obj = {}; obj.a = 1; let a = Symbol(); obj[a] = 2; // 此時obj內(nèi)部的a到底是1還是2呢?我們可以打印一下obj obj { a: 1 Symbol(): 2 __proto__: Object } // 此時我們可以發(fā)現(xiàn)定義的變量a似乎只是一種標(biāo)志,并沒有具體的屬性名
Symbol在執(zhí)行的時候可以傳遞一個字符串,例如:
let obj = {}; obj.a = 1; let a = Symbol('a'); obj[a] = 2; obj { a: 1 Symbol(a): 2 // 有字符串的Symbol更能區(qū)分每個獨一無二的標(biāo)識 __proto__: Object }
ES10新增:Bigint
我們都知道在 javascript 中有極限數(shù)值的精度問題,舉個例子:
let a = Number.MAX_SAFE_INTEGER; // 9007199254740991 最大安全整數(shù) console.log(a + 1); // 9007199254740992 console.log(a + 2); // 9007199254740992 console.log(a + 1 === a + 2); // true // 此時我們可以發(fā)現(xiàn) a + 1 與 a + 2 計算出來的數(shù)值是一樣的,雖然可以正常計算,但是已經(jīng)失去了計算的價值
此時我們可以發(fā)現(xiàn) a + 1 與 a + 2 計算出來的數(shù)值是一樣的,雖然可以正常計算,但是已經(jīng)失去了計算的價值
BigInt是一個內(nèi)置對象,它提供了表示大于最大安全整數(shù)之外的方法, bigint 通常用于計算最大安全整數(shù)之外的數(shù)值:
BigInt(1) === BigInt('1') === 1n
到此,相信大家對“javascript中有幾種數(shù)據(jù)類型”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!