iT邦幫忙

2023 iThome 鐵人賽

DAY 2
0
自我挑戰組

轉職仔與JavaScript的初次相遇系列 第 2

JavaScript數值類別(原始型別) - Day02

  • 分享至 

  • xImage
  •  

前言

此篇將簡述 JavaScript 中變數的「值」,這些值的類型取決於它們所包含的資料類型。我們將討論原始型別,以及什麼是強型別和弱型別。

說明

原始型別:

在JavaSript中數值可分為兩大類(陣營),原始型別(Primitive type)以及物件型別(Object type)

原始型別主要有以下七種:

  1. Number (數字):這種型別包括整數和浮點數,可以用來表示各種數學計算,例如整數如 1、2、3,以及帶有小數的數字如 3.14。
const number = 3.14; //值型態為數字3.14
  1. String (字串):任意文本、文字排序內容,其可包含字母、數字、符號等,需使用一組單引號(')或是雙引號(“)符號包覆內容。
const firstName = "Jeremy";
const lastName = 'Hung';
const greeting = "Hi i'm Jeremy." //內容有單引號時,可選擇用雙引號包住字串內容
const greeting1 = 'Hi i\'m Jeremy.' //若必須使用單引號包住時,可使用\(跳脫字元)來處理
  • 樣板字面值(template literal)
    樣板字面值是ES6新增的特殊字串,其讓JavaScript大幅提升了字串的靈活度
    語法: 內容由一組``(反引號)並可以透過${}包覆變數將其直接嵌入至字串中
const firstName = "Jeremy";
const lastName = "Hung";
console.log(`Hi i'm ${firstName} ${lastName}`)
  1. Boolean (布林值):布林值只有兩種可能的值:True(真)和False(假)。通常用於邏輯運算,例如判斷條件是否成立。
const boolean = true;
  1. Undefined (未定義):Undefined表示變數已聲明但未給定初始值,代表該變數目前沒有值。在某些情況下,也可能是函數未返回值的結果。
const undefinedValue; //宣告變數,但是未賦予值
  1. Null (空值):Null表示一個特定的空值,它通常用來表示變數的值故意設定為空或不存在。不同於Undefined,它是有意指定的。
const nullValue = null;
  1. BigInt (大整數):BigInt是一種特殊的數字類型,用於表示極大或極小的整數。一般Number類型在表示整數時存有上下限,最大安全整數是2^53-1,最小安全整數為 -2^53 + 1。
    使用方法:透過在整數後面添加"n"或調用 BigInt()函数使用。
const bigIntValue = 1234567890123456789012345678901234567890n;
const anotherLargeNumber = BigInt("900719925474099121");
  1. Symbol (符號):用來表示唯一性的值。每個 Symbol 都是唯一的,即使它們的內容相同,也不相等。
const uniqueSymbol = Symbol("description");
const anotherSymbol = Symbol("description");
// 使用『 === 』判斷uniqueSymbol以及anotherSymbol是否相同,會得到false的布林值結果
console.log(uniqueSymbol === anotherSymbol); // 結果為false,因為每個符號都是唯一。

強型別與弱型別:

強型別語言(Strongly typed)要求在編譯或執行時對變數的型別進行嚴格的檢查,當兩個不同型別的資料進行運算時,因無法執行型別轉換,最終會導致錯誤,其代表語言為Java。

int a = 123;
String b = "123";
int c = a + b;      // 會產生錯誤

弱型別(Weakly typed)語言,無需明確宣告變數型別即可使用,並允許型別轉換,其代表語言為JavaScript。

let a = 123;
let b = "456";
let c = a + b; // 123456 (JavaScript結果)

JavaScript 會將數字轉換成字串,最終結果為 "123456"

由於弱型別語言允許型別轉換,意味著在處理變數時需要謹慎處理『型別轉換』,以確保運算的正確性。


上一篇
JavaScript變數與賦值 - Day01
下一篇
JavaScript數值類別(物件型別) - Day03
系列文
轉職仔與JavaScript的初次相遇30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言