前端面試題 - null是原始類型,但爲什麼typeof null的結果是object?

前端面試題 - null是原始類型,但爲什麼typeof null的結果是object?

造成這個結果的原因是null的內存地址是以000開頭,而js會將000開頭的內存地址視爲object。 通過isNull()來判斷一個值是不是null類型,但值得注意的是isNaN()會進行隱式轉換。 typeof 無法精確的檢測null、Object、Array。獲取精確類型的話,可以自己寫一個:

const getType = (value: any) => {
  const str: string = Object.prototype.toString.call(value)
  const typeStrArray = str.substring(1, str.length - 1).split(' ')
  return typeStrArray[1].toLowerCase()
}

通俗易懂的前端面試題網站: https://www.front-interview.com

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章