大部分只是整理筆記,歡迎隨意看看

0%

JS - 型別

前言

本篇簡單的整理一下型別的筆記。

JavaScript 的型別

在 JavaScript 中分為兩種型別:

  • 原始型別
  • 物件型別

原始型別

原始型別中又有六種,分別是以下:
string、number、boolean、null、undefined、symbol(ES6)
原始型別是沒有屬性的,所以也無法賦予屬性,我們來看看下面的例子:

1
2
3
var a = 1;
a.name = '111';
a.name; // undefined

因為原始型別無法賦予屬性,所以這裡我們會得到 undefined 這個結果。

另外,如果透過建構式的方式來宣告原始型別的話會導致型別轉換,請看下面這個範例:

1
2
var a = new Number(1); //建構式
typeof a // object

我們可以發現 a 的型別變成了物件,所以一般不建議用建構式的方式來宣告,這樣可能會導致後續判斷時發生錯誤。

物件型別

除了上面的六種型別外,其他的都是物件型別,包含陣列函式也都是物件型別。

動態型別

JavaScript 屬於動態型別,也就是會根據使用狀況改變型別,我們看看下面的範例:

1
2
3
4
5
6
7
8
var a = '1';
console.log(typeof a) // string

a = +a;
console.log(typeof a) // number

a = a + '';
console.log(typeof a) // string

可以看到同樣是 a 但是根據不同的狀況會從 string 變成 number 又變回 string

參考

參考資料:
https://www.youtube.com/watch?v=s0qX9PgJlN4