Javascript 原始資料類型
Primitive Data Types
Javascript的資料類型有很多種類
今天先介紹原始類型(Primitive Data Types)
- 數字(Number):表示為數值,可以是整數或浮點數。
Javascript的數字並不能無限大,會顯示出近似值(比較大或比較小)
數字多位數的時候,Javascript會使用科學記號e表示
數字計算最大的結果,會顯示Infinity,Infinity是特殊的數字,表示無窮的意思
1 | let integerNumber = 42; // 整數 |
顯示出近似值(比較大或比較小),console.log結果依據JavaScript引擎和環境的差異會有不同答案,以下只是範例
1 | let a = 9999999999999991 |
運算結果太大,會顯示出Infinity
1 | let c = 99999 ** 99999 |
另外
NaN(Not-a-Number):名稱雖然是NaN,但是在Javascript是屬於數字
NaN通常由不合法的運算結果產生,可能的狀況如下
將非數字字符串轉換為數字:
parseInt(“Hello”)
0除以0:
0 / 0
數字除以非數字:
5 / “apple”
任何關連到NaN的數學運算結果通常也是NaN
1 | console.log(NaN + 5); // NaN |
NaN不等於任何值,也不等於自己(NaN)
1 | console.log(NaN === NaN); // false |
檢查NaN的方法如下
1 | console.log(isNaN(NaN)); // true |
字串(String):表示為文字。字串以單引號或雙引號括起來。
1
let greeting = "Hello, World!";
布林值(Boolean):只有兩個值,true或false,用於表示邏輯狀態。
1
2let isItTrue = true;
let isItFalse = false;另外
true在數值上等於1
false在數值上等於0
1 | console.log(true == 1); // 輸出 true |
但是使用===,結果完全不同,會比較數值,也比較數據類型
1 | console.log(true === 1); // 輸出 false,因为它們的類型不同 |
未定義(Undefined):變數已聲明但未賦值,或是function沒有返回值,沒有做return。
現在宣告一個變數叫undeclaredVariable
可以利用typeof這個方法,確認是什麼類型,是undefined1
2let undeclaredVariable;
console.log(typeof undeclaredVariable); //輸出 "undefined"空值(Null):表示為空值或無效物件。
1
let emptyValue = null;
再次利用typeof,確認null是什麼類型,null是一個物件(object)空的物件,表示空的對象
1
console.log(typeof emptyValue); //輸出 "object"
符號(Symbol):創建唯一的識別符號。
特別提醒
符號是ECMAScript 6(ES6)引入的一種新的原始資料型態,它的主要特點是每個符號都是唯一的。具有唯一的特性、不可以重新賦值、另外可以自己對每個符號提供描述。
1 | const a = Symbol(); |
請記得符號唯一的特性,即使符號裡面的描述是一模一樣,也不會和其他符號相等。
1 | const symbol7 = Symbol("mySymbol"); |
不可以重新賦值
1 | const symbol = Symbol("mySymbol"); |
當使用符號的時候,可以提供描述,描述可以幫助您理解符號的用途或含義,這對於代碼的可讀性和維護性很有幫助。
1 | const namedSymbol = Symbol("This is a description"); |
對不同的符號提供描述
1 | const info = Symbol("info"); |