七爪源码:人类的 JavaScript 数据类型
七爪源碼:人類的 JavaScript 數(shù)據(jù)類型
JS中數(shù)據(jù)類型的基礎(chǔ)知識(shí),適合初學(xué)者
數(shù)據(jù)類型是對(duì)數(shù)據(jù)的分類,它決定了該數(shù)據(jù)的可能值,以及您可以對(duì)它執(zhí)行的操作 。 JavaScript 有八種基本數(shù)據(jù)類型。
字符串
字符串是一組多個(gè)字符中的一個(gè) ,可以包括數(shù)字、字母或符號(hào)。 字符串由引號(hào)(雙引號(hào)或單引號(hào))和反引號(hào)表示:
let string1 = ‘Hello, I am a string’let string2 = “I’m also a string”let string3 = `I, too am a string`使用單引號(hào)或雙引號(hào)在很大程度上是一個(gè)偏好問題,但當(dāng)字符串需要使用變量或表達(dá)式時(shí),需要使用反引號(hào):
let string1 = 'Hello, I am a string'let stringtroduction = `${ string1}, and my name is string1`console.log(stringtroduction)// output: Hello, I am a string, and my name is string1JavaScript 中的字符串是不可變的:它們一旦創(chuàng)建就無法更改(JavaScript 數(shù)據(jù)類型和數(shù)據(jù)結(jié)構(gòu) — JavaScript | MDN,2022) 。 看起來改變字符串的操作實(shí)際上將變量指向一個(gè)新創(chuàng)建的值。
數(shù)字
數(shù)字用于表示整數(shù)、小數(shù)和指數(shù)。 在大多數(shù)情況下,它們類似于我們在日常生活中理解數(shù)字的方式。 很容易將數(shù)字 '3' 的字符串值與數(shù)字 3 混淆; 但是從編程的角度來看,兩者有很大的不同 。
要表示數(shù)字,必須省略表示字符串的引號(hào)或反引號(hào):
let num1 = 2let num2 = 56.65與“真實(shí)世界”的數(shù)字相比 ,JavaScript 中的數(shù)字有幾個(gè)怪癖 。 值 Infinity、-Infinity 和 NaN 都被視為數(shù)字(您可以使用 typeof 運(yùn)算符對(duì)此進(jìn)行測試)。 NaN 是“Not a Number”的縮寫 ,當(dāng)您嘗試對(duì)(等待它)不是數(shù)字的值執(zhí)行數(shù)學(xué)運(yùn)算時(shí)會(huì)出現(xiàn)。 當(dāng)其他有效的數(shù)值運(yùn)算返回非實(shí)數(shù)的結(jié)果時(shí)(例如,嘗試計(jì)算負(fù)數(shù)的平方根),結(jié)果也將為 NaN。
JavaScript 中的數(shù)字也有大小限制 。 現(xiàn)實(shí)世界中的數(shù)字可以是任意大小,但在 JavaScript 中并非如此,其中數(shù)字僅限于 -(2?3 — 1) 和 (2?3 — 1) 之間的值。 對(duì)于其他一切 ,都有 BigInt。
大整數(shù)
這些與數(shù)字相似,但有一些關(guān)鍵區(qū)別。 BigInt 可以處理任何大小的數(shù)字 。 BigInt 值可以通過將 `n` 附加到值或使用 `BigInt()` 函數(shù)來表示:
let largeNumber = 9007199256352991nlet largerNumber = BigInt(9107199256352991)但是,BigInt 無權(quán)訪問 Math 對(duì)象中包含的函數(shù)