動態型別


Posted by hoyi-23 on 2021-05-18

JavaScript是一個動態型別的語言,它的型別會在執行過程中不斷地轉換。

什麼是動態型別?

動態型別要在執行階段時才會被賦予。

var myName = 'Bella';

分為創造階段與執行階段

\\創造
var myName;
\\執行
myName = 'Bella'; //這個時候才將bella賦予給變數,也才確認了字串這個型別。

使用 typeof 來檢視型別

var myName;
myName = 'Bella';

console.log(typeof myName); //string
console.log(typeof 'Bella'); //string

上面的範例說明,值本身就帶有型別,值賦予到變數時,將型別賦予上去。

變數的型別來自於值。

型別可以更換

var num = 1;
console.log(typeof num); // number(型別是數值)
num = '文字'; //賦予變數其他的值
console.log(typeof num); //string(字串)

型別轉換又分為: 顯性 與 隱性

  1. 顯性轉換
    原本的值被直接賦予其他型別的值。
     var num = 1;
     console.log(typeof num); // number(型別是數值)
     num = '文字'; //賦予變數其他的值
     console.log(typeof num); //string(字串)
    
  2. 隱性轉換
    運算過程中的型別變化
     //範例:將一個數值加上空字串,型別立即轉為字串
     var num = 1;
     console.log(num + typeof num); // 1 number
     num = num + '' ;
     console.log(num + typeof num); // 1 string
     //範例: 字串轉為數值
     num = num*3;
     console.log(num + typeof num); // 3 number
    
    看起來都顯示1,但一個是數值,一個是字串。

#型別轉換 #動態型別







Related Posts

#第一篇文 (? 為什麼打算寫文章了

#第一篇文 (? 為什麼打算寫文章了

筆記、JS101 (常用內建函式)

筆記、JS101 (常用內建函式)

[Web] SSL/TLS和Https完整流程圖

[Web] SSL/TLS和Https完整流程圖


Comments