1. 程式人生 > >js 中的類型比較

js 中的類型比較

ber 結果 function body efi symbol [] undefine 鍵值

console.log(typeof 1)            // number
console.log(typeof ‘cc‘)        // string
console.log(typeof true)        // boolean
console.log(typeof undefined)     // undefined
console.log(typeof null)        // object
console.log(typeof NULL)         // undefined  NULL | Null 都不對
console.log(typeof {})            //
object console.log(typeof []) // object console.log(typeof function(){})  // function 這個有點意料之外,本以為也是 object
console.log(typeof Symbol())     // symbol
// 結論:
// 基於多鍵值進行排序的時候或許可以用一下 // boolean < function < number < object(null) < string < symbol < undefined // 以下:皆 true console.log(typeof
true < typeof function(){} ? true : false); console.log(typeof function(){} < typeof 1 ? true : false); console.log(typeof 1 < typeof {name:‘cc‘} ? true : false); console.log(typeof {name:‘cc‘} === typeof null ? true : false); console.log(typeof {name:‘cc‘} < typeof
‘cc‘ ? true : false);
console.log(typeof ‘cc‘ < typeof Symbol() ? true : false); console.log(
typeof Symbol() < typeof undefined ? true : false);

  • typeof 返回值是小寫
  • null 小寫,NULL Null 這些寫法不對
  • 函數 typeof 返回值是 function。疑惑臉:什麽時候 function 是一個類型了?
  • 這樣說吧: typeof 是一個運算符,返回結果並不等同於 js 基本類型 (null 不等, function 看來也是)
  • js 中基本類型:
    boolean
    number
    object (Object | Function | Array | RegExp | Date | ..)
    null
    string
    undefined
    symbol (ES6 新增)
  • typeof 的返回值:
    boolean  
    number
    string object (object | array | null)
    function
    undefined symbol

js 中的類型比較