2024-07-02|閱讀時間 ‧ 約 24 分鐘

1 + 1 = ?

    今天要來討論JS的 1 + "1"
    如果當兩個操作數都是數字時,+ 會執行數字相加。例如,1 + 1 結果是 2

    那如果是"1"+"1",就變成字符串相加變成11

    那我們今天要講的是1 + "1",答案是11,為甚麼呢?
    這是一個類型強制轉換,今天當 + 遇到不一樣的類型時,JavaScript 首先會嘗試將非字符串轉換為字符串,他會去識別到一個是數字,一個是字串,然後JavaScript就會將數字 1 強制轉換為字符串 "1",變成11進行字符串連接。

    一旦遇到字符串,後面的加法都變成字符串連接。

    像這樣console.log("1" + 1 + 1); // 輸出: "111"

    那延伸來講~
    變數 :
    他是儲存數據的容器。在不同的編譯語言中,變數的聲明和使用方式也會有所不同。

    let num = 5;  // 數字型變數
    let text = "Hello"; // 字符串型變數
    let isTrue = true; // 布林值變數

    console.log(num + 3); // 8
    console.log(text + " World"); // Hello World

    那不一樣的變數類型和操作方式都會影響程式的行為結果

    console.log(1 + "1");  //  "11" (字符串拼接)
    console.log(1 - "1"); // 0 (減法運算符 - 預期其操作數是數字)


    函式 :

    接受參數返回值 :

    function add(a, b) {
    return a + b;
    }

    console.log(add(1, 2)); // 3
    console.log(add("1", "2")); // "12"


    判斷式 :

    根據不同條件執行不同的代碼 :

    let age = 20;
    if (age >= 18) {
    console.log("adult");
    } else {
    console.log("kid");
    }


    迴圈 :

    迴圈常用於重複執行程式碼,迴圈類型通常用 for

    for (let i = 0; i < 5; i++) {
    console.log(i + " + 1 = " + (i + 1));
    }
    //​0 + 1 = 1
    //1 + 1 = 2
    //2 + 1 = 3
    //3 + 1 = 4
    //4 + 1 = 5


    參考資料 :

    [ 技術筆記 ] JavaScript|何謂強制轉型(coercion)以及如何作到轉換型別 - Sunny Huang - Medium

    分享至
    成為作者繼續創作的動力吧!
    © 2024 vocus All rights reserved.