# [JavaScript] null 跟 undefined 小筆記 ###### tags: `前端筆記` >兩個都係屬於「基本型別」(Primitive data type) ## undefined 1. 宣告一個變數但沒有給它值 ```javascript= let test1; console.log(test1); // undefined ``` 2. 當然也可以賦值(undefined)給一變數,但就代表一個符號是 undefined ```javascript= let test2 = undefined; console.log(test2); // undefined ``` ## null 1. 是一個要被「給」才會有的值,代表「no value」 ```javascript= let test2; console.log(test2); // undefined 因為沒給值 test2 = null; console.log(test2); // null 因為給了 null,代表 nothing ``` 2. 在 DOM 找不到元素也會回傳 `null` ## 兩個都是 Falsy Value ```javascript= // 一般相等(==)時資料型別會自動轉換 null == undefined; // true => false == false // 但在嚴格相等(===)時資料型別則維持原狀,不會轉換 null === undefined; // false ``` ## 參考資料 1. [What is the difference between null and undefined in JavaScript?](https://stackoverflow.com/questions/5076944/what-is-the-difference-between-null-and-undefined-in-javascript) 2. [JavaScript — What’s the difference between Null & Undefined?](https://codeburst.io/javascript-whats-the-difference-between-null-undefined-37793b5bfce6)