JavaScript核心概念 - Not defined 、 undefined 、 null 的區分

undefined 與 null

首先,我們要先瞭解,undefined 與 null 為基本型別之一,他們各自都只有一個值,就是 undefinednull,雖然這兩種值轉型成 boolean 時,都會代表 false 的意思,不過他們在意義上是有差別的。以下方的範例來說,我們在宣告變數時,會在記憶體上先準備一個空間給 ASin,若沒有賦予值,此時則會顯示為 undefined 。而 ASin2 直接賦予變數 一個 null 值,則此變數的值是有明確定義的空值

  • undefined 是指「 還沒有賦予值,所以不知道是什麼 」
  • null 是指「 現在沒有值 」

所以,我們若要賦予變數空值時,應採用 null 而不是 undefined

1
2
3
4
var ASin;
var ASin2 = null;
console.log(ASin); // undefined
console.log(ASin2); // null

not defined

另外,not defined 就是我們根本沒有宣告變數,所以跳出錯誤。

1
2
// var ASin;
console.log(ASin); // Uncaught ReferenceError: ASin is not defined

0%