天天看點

JavaScript語言類型

七種語言類型

  • int
  • string
  • boolean
  • null
  • undefined
  • object
  • symbol

undefined

let a;

let b = void(0)

a === b // true

變量未指派都是undefined,是一個變量,不是關鍵字,用void(0)代替

我們一般不會把變量指派為undefined,這樣可以保證所有的值為undefined的變量,都是從未指派的自然狀态。

void(0)

<a href="#" target="_blank" rel="external nofollow" >click</a>

預設跳轉到頂部

<a href="#id" target="_blank" rel="external nofollow" >click</a>

預設跳轉到id的元素

<a href="javascript:void(0)" target="_blank" rel="external nofollow" >click</a>

表示不跳轉

null

是一個關鍵字,可以用null來擷取,但是undefined不行

number

js不能比較小數,但可以用精度來判斷

Symbol

獨一無二的key值

let a = symbol();
let b = symbol("this is b");
obj[a] = 100;
           

用symbol做對象屬性的時候object.keys擷取不到

代替變量

const COLOR_RED = Symbol();
    const COLOR_GREEN = Symbol();

    function getComponent(color) {
        switch(color) {
            case COLOR_RED:
                return "red";
            case COLOR_GREEN:
                return "green";
            default:
                throw new Error("Undefind color")
        }  
    }