iT邦幫忙

2023 iThome 鐵人賽

DAY 2
0
自我挑戰組

菜鳥建立自信心系列 第 2

Javascript - 原始資料類型(Primitive Data Types)

  • 分享至 

  • xImage
  •  

Javascript的資料類型有很多種類
今天先介紹原始類型(Primitive Data Types)

  • 數字(Number):表示為數值,可以是整數或浮點數。
    Javascript的數字並不能無限大,會顯示出近似值(比較大或比較小)
    數字多位數的時候,Javascript會使用科學記號e表示
    數字計算最大的結果,會顯示Infinity,Infinity是特殊的數字,表示無窮的意思
let integerNumber = 42; // 整數
let floatNumber = 3.14; // 浮點數

顯示出近似值(比較大或比較小),console.log結果依據JavaScript引擎和環境的差異會有不同答案,以下只是範例

let a = 9999999999999991
console.log(a); // 9999999999999992
let b = 99999999999999911
console.log(b); // 99999999999999900

運算結果太大,會顯示出Infinity

let c = 99999 ** 99999
console.log(c); // Infinity

另外
NaN(Not-a-Number):名稱雖然是NaN,但是在Javascript是屬於數字
NaN通常由不合法的運算結果產生,可能的狀況如下
將非數字字符串轉換為數字:
parseInt("Hello")
0除以0:
0 / 0
數字除以非數字:
5 / "apple"

任何關連到NaN的數學運算結果通常也是NaN

console.log(NaN + 5); // NaN
console.log(NaN * 2); // NaN

NaN不等於任何值,也不等於自己(NaN)

console.log(NaN === NaN); // false

檢查NaN的方法如下

console.log(isNaN(NaN)); // true
console.log(isNaN(42));  // false
  • 字串(String):表示為文字。字串以單引號或雙引號括起來。
let greeting = "Hello, World!";
  • 布林值(Boolean):只有兩個值,true或false,用於表示邏輯狀態。
let isItTrue = true;
let isItFalse = false;

另外
true在數值上等於1
false在數值上等於0

console.log(true == 1); // 輸出 true
console.log(false == 0); // 輸出 true

但是使用===,結果完全不同,會比較數值,也比較數據類型

console.log(true === 1); // 輸出 false,因为它們的類型不同
console.log(false === 0); // 輸出 false,因为它們的類型不同
  • 未定義(Undefined):變數已聲明但未賦值,或是function沒有返回值,沒有做return。
    現在宣告一個變數叫undeclaredVariable
    可以利用typeof這個方法,確認是什麼類型,是undefined
let undeclaredVariable;
console.log(typeof undeclaredVariable); //輸出 "undefined"
  • 空值(Null):表示為空值或無效物件。
let emptyValue = null;

再次利用typeof,確認null是什麼類型,null是一個物件(object)空的物件,表示空的對象

console.log(typeof emptyValue); //輸出 "object"
  • 符號(Symbol):創建唯一的識別符號。

特別提醒
符號是ECMAScript 6(ES6)引入的一種新的原始資料型態,它的主要特點是每個符號都是唯一的。具有唯一的特性、不可以重新賦值、另外可以自己對每個符號提供描述。

const  a = Symbol();
const  b = Symbol();
const  c = Symbol();
console.log(a === c); // false

請記得符號唯一的特性,即使符號裡面的描述是一模一樣,也不會和其他符號相等。

const symbol7 = Symbol("mySymbol");
const symbol8 = Symbol("mySymbol");
console.log(symbol7 === symbol8); // false

不可以重新賦值

const symbol = Symbol("mySymbol");
symbol = Symbol("theirSymbol"); // 這將引發錯誤,無法重新賦值

當使用符號的時候,可以提供描述,描述可以幫助您理解符號的用途或含義,這對於代碼的可讀性和維護性很有幫助。

const namedSymbol = Symbol("This is a description");

對不同的符號提供描述

const info = Symbol("info");
const error = Symbol("error");

上一篇
Javascript - 命名規範
下一篇
Javascript - 反引號(backtick)使用方式
系列文
菜鳥建立自信心30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言