在 JavaScript 中,基本類型數(shù)據(jù)有以下七種:字符串(string)、數(shù)字(number)、布爾值(boolean)、空(null)、未定義(undefined)、Symbol 和 BigInt。
字符串是由一串字符組成的,可以用單引號(hào)、雙引號(hào)或反引號(hào)表示。下面是一些字符串的例子:
let a = 'hello world';
let b = "Javascript is fun";
let c =My name is ${name}
;
數(shù)字包括整數(shù)和浮點(diǎn)數(shù),JavaScript 中的數(shù)字沒有分?jǐn)?shù)字型,如 int 和 float,使用 typeof 運(yùn)算返回的類型都是 number。下面是數(shù)字的例子:
let a = 123; let b = 3.14; let c = 1000e-3; //科學(xué)計(jì)數(shù)法表示 1*10^3
布爾值只有兩個(gè)取值,true 和 false。
let a = true; let b = false;
null 表示一個(gè)空對(duì)象引用,JavaScript 中的 null 不是一個(gè)由 “null” 這個(gè)字符串組成的字符串。
let a = null;
undefined 表示一個(gè)未定義的值,當(dāng)一個(gè)變量沒有被定義或者被賦值為 undefined 時(shí),其類型為 undefined。
let a; let b = undefined;
Symbol 是在 ECMAScript 6 中新定義的數(shù)據(jù)類型,表示獨(dú)特的標(biāo)識(shí)符。每個(gè) Symbol 值都是唯一的,可以作為對(duì)象的屬性名。Symbol 類型無法通過 new 運(yùn)算符創(chuàng)建,必須使用 Symbol 函數(shù)來創(chuàng)建。
const hello = Symbol('hello'); const world = Symbol('world'); let obj = { [hello]: 'Hello', [world]: 'World' };
BigInt 是在 ECMAScript 2020 中新定義的數(shù)據(jù)類型,表示任意精度整數(shù)。BigInt 類型不支持以下操作符:+、-、*、/。
let a = BigInt(123); let b = BigInt("9223372036854775807"); let c = a + b; //正確的做法 let d = a + 123; //報(bào)錯(cuò),BigInt 和普通數(shù)字不支持加操作
當(dāng)需要判斷某個(gè)值的類型時(shí),可以使用 typeof 運(yùn)算符,再進(jìn)行相應(yīng)的操作。
let a = 'hello'; if (typeof a === 'string') { console.log('a 是字符串'); }
以上是 JavaScript 中的七種基本數(shù)據(jù)類型,它們是構(gòu)成 JavaScript 程序的基礎(chǔ)。大家可以根據(jù)自己的需求來靈活運(yùn)用。