JS 的資料型態與賦值


Posted by YongChenSu on 2020-12-09

primitive type

七種原始型別
原始型別是 immutable,不可變的,當在原始型別的值使用方法後,會回傳新的值,而不會直接修改原本的值。

  • boolean
  • null
  • undefined
  • number
  • BigInt
  • string
  • symbol

object

object 使用方法後則會直接修改原本的值。

typeof



沒有宣告跟宣告後沒有賦值,用 typeof 檢測都會是 undefine

NaN

把字串用 number() 轉成 number 時會出現 NaN

console.log(typeof NaN) // number

Array.isArray()

沒辦法用 typeof 檢測東西是否為 array,但可用 array.isArray() 判斷使否為 array

Object.prototype.toString.call()

可將型態判斷地更細

Object.prototype.toString.call(1) // [object Number]
Object.prototype.toString.call([]) // [object Array]


賦值

object 是將資料存在記憶體的位置

用 (. 方法) 會改變記憶體位置的值

let arr = []
let arr2 = arr
console.log(arr, arr2)

arr2.push('arr')
console.log(arr, arr2)



用賦值的方式則會開新的記憶體位置並存放資料。

let arr = []
let arr2 = arr
console.log(arr, arr2)

arr2 = ['arr']
console.log(arr, arr2)

參考資源


#程式導師實驗計畫第四期 #前端 #assignment







Related Posts

JS Project - Simon Game

JS Project - Simon Game

text JS屬性 語法

text JS屬性 語法

Letter Combinations of a Phone Number

Letter Combinations of a Phone Number


Comments