iT邦幫忙

2024 iThome 鐵人賽

DAY 24
0
JavaScript

30天享用JavaScript概念三明治系列 第 24

Day24:強制轉型

  • 分享至 

  • xImage
  •  

強制轉型(Coercion)(P2-50)

  • JavaScript是弱型別的程式語言,型別之間可以互相轉換。
  • 強制轉型只有三種類型:轉為字串、轉為布林值、轉為數值。
  • 可看出在程式碼中有使用內建函數轉型別的稱為明確的強制轉型。
    而看不出來卻轉型的稱為隱含的強制轉型。

明確的強制轉型(Explicit coercion)

  • 有使用內建函數
    譬如:
    使用 String() 將小括號內的值轉為字串。
    使用 Boolean() 將小括號內的值轉為布林值。
    使用 Number() 將小括號內的值轉為數值。
String(123) // "123"
Boolean(2) // true
Number("123") // 123

隱含的強制轉型 (Implicit coercion)

  • 無使用內建函數,通常是透過運算子或是if判斷式內的條件區塊觸發。
  • 範例:在任一其他類型的數值前面使用+加法運算子觸發轉型。
    var a = "1"; //  string
    console.log(+a, typeof(+a)); // 1 , number
    
    然而,使用+加法運算子時,只要其中一個數值是字串,就不會觸發數字類型的隱含轉型,而是轉為字串。
    var b = 1 + 2; //  number
    var c = 1 + "2"; //  number + string
    console.log(b , typeof(b)); //  3 , number
    console.log(c, typeof(c)); //  “12” , string
    

上一篇
Day23:Falsy Value & Truthy Value
下一篇
Day25:for迴圈 & while迴圈
系列文
30天享用JavaScript概念三明治30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言