JavaScript 資料值(Value)是什麼?初學者必讀觀念
當你開始寫 JavaScript,你一定會碰到數字、文字這些東西。 比如 42、”Hello”、true,這些在 JavaScript 裡都叫做資料值(Value)。 但這些值到底是什麼?它們在電腦裡長什麼樣子? 這篇文章會從最底層開始,帶你搞懂資料值的本質,以及 JavaScript 是怎麼幫你管...
共 12 篇文章
當你開始寫 JavaScript,你一定會碰到數字、文字這些東西。 比如 42、”Hello”、true,這些在 JavaScript 裡都叫做資料值(Value)。 但這些值到底是什麼?它們在電腦裡長什麼樣子? 這篇文章會從最底層開始,帶你搞懂資料值的本質,以及 JavaScript 是怎麼幫你管...
上一篇我們認識了什麼是資料值(Value),也知道每個值都有自己的資料型態。 從這篇開始,我們要逐一認識 JavaScript 中不同的資料型態。 第一個登場的,就是最直覺的——數字型態(Number)。 這篇文章會帶你了解:數字值怎麼寫、JavaScript 怎麼儲存數字、以及為什麼小數計算有時候...
在學習 JavaScript(以及大多數程式語言)時,你可能會發現數學運算符的執行順序與我們在數學課上學到的相同:先乘除,後加減。 這種運算順序稱為「運算子優先順序」(Operator Precedence)。 本篇文章將為新手詳細介紹為什麼會有這樣的規則,如何理解運算子的優先順序,以及如何正確地解...
在學習 JavaScript 的過程中,你可能會遇到一個叫做 NaN 的值。 這是一個相對容易讓初學者感到困惑的概念,因為它的名字意思是 “Not a Number”,卻常出現在數字計算中。 在這篇文章中,我們將解釋什麼是 NaN,它是如何產生的,以及如何處理它。
前幾篇我們認識了數字型態,知道 JavaScript 怎麼儲存和計算數字。 但程式不可能只處理數字——你一定也需要處理文字,像是使用者的名字、一段訊息、或是一個網址。 在 JavaScript 裡,文字是用另一種資料型態來表示的,叫做字串(String)。 這篇文章會帶你了解:字串怎麼寫、JavaS...
在前面的文章中,我們認識了各種 JavaScript 運算子,像是加減乘除這類常見的符號。 但你知道嗎?並不是所有的運算子都是符號,有些運算子其實是用「文字」來表示的。 這篇文章會介紹一個很實用的文字運算子 typeof,同時帶你搞懂「一元運算子」和「二元運算子」的差別。
在前面的文章中,我們認識了數字和字串這兩種資料型態。 但在寫程式的時候,我們常常需要做「判斷」——使用者有沒有登入?購物車的金額有沒有超過免運門檻?密碼輸入的對不對? 這篇文章會介紹 JavaScript 的第三種資料型態:布林值(Boolean),以及如何用比較運算子來產生布林值。
在前一篇文章中,我們學會了用比較運算子產生布林值——也就是只有 true(真)和 false(假)兩種可能的值。 但在實際寫程式時,判斷條件往往不會只有一個。 例如:「使用者有登入而且是 VIP 會員」才能享有折扣、「密碼錯誤或者帳號不存在」就顯示錯誤訊息。 這些情境需要把多個布林值組合起來,做出更...
在前面的文章中,我們認識了好幾種 JavaScript 的資料值(Value):數字、字串、布林值。 這些值都帶有明確的資訊——42 代表一個數字,”Hello” 代表一段文字,true 代表「是」。 但在前面的文章中,我們其實已經碰過一種情況:運算沒辦法產生有意義的結果。 例如 0 / 0 會得到...
JavaScript 當初的設計目標,是讓沒有程式背景的人也能快速上手。 為了達到這個目標,它選擇成為一個「寬容」的語言——當程式遇到型別不符合的情況,不要直接報錯讓整個網頁壞掉,而是盡量猜測你的意圖,自動轉換後繼續執行。 這個行為就叫做自動型別轉換(type coercion)。
你可能已經知道 ||(OR)和 &&(AND)是邏輯運算子,用來處理布林值的判斷。 但你知道嗎?在 JavaScript 裡,這兩個運算子其實不只是回傳 true 或 false,它們還會根據一套特殊規則,決定要回傳左邊還是右邊的值。 這篇文章會帶你搞懂這套規則,並且學會一個叫做「短路評估」的重要特...
在 JavaScript 中,「運算子(Operator)」是用來處理資料、變數、值的符號。 你可以把它們想像成程式碼中的「動作執行者」,負責做加法、比較、邏輯運算、條件判斷……等工作。 JavaScript 的運算子可依操作的運算元(operand)數量分成三大類: 🧍♂️ 一元運算子(Una...