精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

為什么 typeof null === 'object' 到 2025 還在

開發 前端
早期 JS 引擎用緊湊的內部表示:**對象類型的標記是 ??0??。 而 ??null?? 用 空指針 表示,在那套編碼里標記也恰好是 ??0??**。??typeof?? 讀到 ??0??,就返回了 ??"object"??。

如果你是靠搜索速成學的 JS,大概率早早踩過這個坑:

typeof null // "object"

等等——null 表示“沒有值”“空”,怎么會是 object?

簡答:歷史遺留 bug,為了兼容被保留下來。長答:它很迷惑人,尤其坑初學者;當你需要區分“真對象”和 null 時,別單靠 typeof,用更清晰的檢查方式。

下面用直觀示例 + 實戰模式講清楚原理、影響和寫法。

typeof 會返回什么

typeof 是一元運算符,返回一個字符串表示值的類型標簽。例如:

typeof 123           // "number"
typeof "hi"          // "string"
typeof true          // "boolean"
typeof undefined     // "undefined"
typeof Symbol()      // "symbol"
typeof 10n           // "bigint"
typeof (() => {})    // "function"
typeof {}            // "object"
typeof []            // "object"
typeof null          // "object"  // ← 這里出戲

結論:你用 typeof x === "object" 判斷“對象”時,會把 null 也算進去。

它為什么會這樣(歷史原因)

早期 JS 引擎用緊湊的內部表示:**對象類型的標記是 0。 而 null 用 空指針 表示,在那套編碼里標記也恰好是 0**。typeof 讀到 0,就返回了 "object"。

等到規范與瀏覽器實現逐步固定,這個行為已經被大量網頁依賴。改掉會大面積破壞線上站點,于是就被寫進歷史了。

一句話:實現細節的 Bug,因為兼容性永久保留。

這事為什么重要

如果你只靠 typeof 來判斷對象,會得出錯誤結論:

function isObject(v) {
  return typeof v === "object";
}

isObject(null)   // true(錯誤期望)

于是你以為能安全訪問屬性,結果:

const v = null;
// v.foo  // TypeError: Cannot read properties of null

正確寫法(生產可用)

1) 明確檢查 null

value === null

最直、最快、最不歧義。

2) 同時判斷“空值”(null 或 undefined)

value == null  // 使用寬松等號:null 或 undefined 時為 true

這里有意用 ==,因為它只在 null/undefined 上合并判斷,簡潔且慣用。

3) 判斷“可訪問的對象”(非 null 的 object)

value !== null && typeof value === "object"

或封裝:

const isObject = v => v !== null && typeof v === "object";

4) 判斷“純對象”(plain object,不含數組/日期等)

function isPlainObject(v) {
  return Object.prototype.toString.call(v) === "[object Object]";
  // 或:v !== null && typeof v === "object" && !Array.isArray(v)
}

Object.prototype.toString 對區分 Array/Date/RegExp 等很穩。

5) 需要深操作時,用現成工具

深拷貝/合并等,不要手搓類型判斷: 用 structuredClone、lodash.isPlainObject、_.cloneDeep、或現代庫的成熟實現。

示例與坑點

數組等也是“object”

Array.isArray([])                     // true
typeof []                             // "object"
Object.prototype.toString.call([])    // "[object Array]"

typeof new Date()                     // "object"
Object.prototype.toString.call(new Date()) // "[object Date]"

所以 typeof 把 數組、日期、正則、null 都歸到 "object" ——你若要具體類型,typeof 不夠用。

函數有特殊標簽

typeof function(){}   // "function"
typeof (() => {})     // "function"

函數本質是對象,但 typeof 會給出特殊結果"function"。

推薦實踐模式

  • 意圖明確:要找 null → value === null;要找“空值” → value == null。
  • 訪問前守衛:
if (value !== null && typeof value === "object") {
  // 再讀屬性;若關心具體對象種類,再額外判斷(如 Array.isArray)
}

(注意 if (obj && obj.prop) 會把 0/''/false 也當 falsey,可能不符合意圖)

  • 抽成工具函數:在代碼庫里統一用 isObject、isPlainObject 等。
  • TypeScript:類型系統能避免許多靜態錯誤;但運行時仍需校驗外部輸入。
  • 校驗外部數據:API/用戶輸入用 zod / ajv / io-ts 做結構校驗,別指望 typeof。

速查表(Cheat Sheet)

// 是 null 嗎?
value === null

// 是 null 或 undefined 嗎?
value == null

// 是對象且不是 null 嗎?
value !== null && typeof value === "object"

// 是數組嗎?
Array.isArray(value)

// 是“純對象”(非數組/日期/正則/…)嗎?
Object.prototype.toString.call(value) === "[object Object]"

// 訪問前守衛(對對象):
if (value !== null && typeof value === "object") {
  // 這里再讀屬性(必要時再區分具體類型)
}

typeof null === "object" 是 JS 里那種學一次就忘不掉的小地雷。 它存在不是因為“合理”,而是因為“歷史兼容”。

對你來說最重要的:別被它再坑到。 寫明確的判斷、用小工具函數、對外部數據做校驗。 這樣既能避免陰溝里翻船,也能讓代碼意圖清晰、方便新人上手。

責任編輯:武曉燕 來源: 大遷世界
相關推薦

2021-10-19 22:23:05

typeof方式Instanceof

2012-08-27 14:52:08

IBM敏捷

2025-09-18 08:16:28

JavaScrip單線程Linux

2025-06-16 01:30:00

大數據

2012-07-11 11:05:16

編程

2017-02-27 15:43:14

iOSObject-CJava

2023-08-22 20:43:09

HashMap單線程null

2025-07-29 08:05:37

2022-05-08 18:18:40

JDKValueHashMap

2024-06-06 08:10:30

多線程Mapnull

2015-12-02 09:00:41

編程年紀程序員

2014-07-23 09:04:26

程序員

2018-08-16 15:30:54

Java代碼編程語言

2025-06-09 08:31:01

旋轉屏幕ViewModel開發者

2021-05-09 22:00:59

TypeofInstanceof運算符

2017-05-02 14:21:37

2017-05-02 07:44:11

2022-01-27 07:02:52

JavaHashMap單線程

2022-05-11 09:56:02

IP地址辦公

2024-02-22 10:34:00

NULLC++nullptr
點贊
收藏

51CTO技術棧公眾號

精品黄色免费中文电影在线播放| 午夜毛片在线观看| 国产日韩一区二区三免费高清| 国产精品久久看| 99伊人久久| av黄色在线看| 一区二区影院| 亚洲欧美日韩区| 亚洲一级免费在线观看| 日本在线视频网址| 久久久国产精品午夜一区ai换脸| 国产欧美在线看| 日韩精品人妻中文字幕| 久久国产成人精品| 亚洲国产精品久久久久久| 精品视频一区二区在线| 黄色片网站在线| 91视频国产资源| 92国产精品久久久久首页 | 福利电影一区| 在线亚洲一区二区| 2018日日夜夜| 欧美一区二区三区| 99re这里只有精品视频首页| 91精品国产综合久久香蕉的用户体验| 日本系列第一页| 婷婷亚洲最大| 国产午夜精品美女视频明星a级| 97超碰免费在线观看| 电影天堂国产精品| 亚洲国产aⅴ天堂久久| 在线观看成人一级片| 手机福利小视频在线播放| 久久国产日韩欧美精品| 欧美最顶级的aⅴ艳星| 国产va在线播放| 9999国产精品| 中文字幕精品网| 成人免费av片| 丝袜连裤袜欧美激情日韩| 欧美成va人片在线观看| 亚洲黄色片免费看| 欧美日韩精品一区二区三区视频| 欧美日韩国产专区| 日韩video| 麻豆视频网站在线观看| 国产精品无人区| 色姑娘综合网| 福利视频在线播放| 国产欧美一区二区精品性 | 久久免费精品视频在这里| 亚洲人成电影网站色…| 爱爱的免费视频| 婷婷综合一区| 精品呦交小u女在线| 免费中文字幕av| 亚洲人挤奶视频| 亚洲欧美福利视频| 非洲一级黄色片| 猛男gaygay欧美视频| 精品久久久免费视频| 国产在线国偷精品免费看| 成人精品福利视频| 国产黄a三级三级看三级| 国产在线观看免费一区| 亚洲a中文字幕| www.四虎在线观看| 波多野洁衣一区| 精品在线观看一区二区| 三级av在线| 欧美国产视频在线| 一区二区不卡在线观看| 黄色av电影在线播放| 一区二区三区在线视频免费 | 91精品国产高清一区二区三区蜜臀| 欧美精品久久久久久久久25p| 国产精品亚洲成在人线| 欧美一区二区在线看| 麻豆av免费看| 日韩成人一级| 中文字幕国产亚洲| 中文字幕av免费在线观看| 亚洲国内欧美| 国产精品96久久久久久| 国产三级第一页| 成人福利在线看| 日本在线一区| 91精品久久久久久粉嫩| 精品国产1区2区| 超碰在线播放91| 午夜久久av| 亚洲另类欧美自拍| 波兰性xxxxx极品hd| 亚洲天天综合| 欧美中文字幕视频| 国产精品欧美激情在线| 波多野结衣中文字幕一区| 亚欧精品在线| 超级碰碰不卡在线视频| 91国产成人在线| 国产探花一区二区三区| 亚洲人成网亚洲欧洲无码| 美日韩在线视频| 国产成人一级片| 国产成人激情av| 色一情一区二区三区四区| 亚洲第一图区| 欧美色图12p| 中文字幕无码人妻少妇免费| 999久久久精品国产| 欧美亚洲成人网| 精品毛片在线观看| 中文在线一区二区| 欧美国产激情视频| 精品一区二区三区四区五区| 亚洲欧美另类人妖| 国产一级片网址| 国模娜娜一区二区三区| 欧洲一区二区日韩在线视频观看免费| 欧美aaaxxxx做受视频| 欧美性高清videossexo| 一区二区三区少妇| 国产精品av久久久久久麻豆网| 国产精品ⅴa在线观看h| 天天操天天干天天爽| 亚洲人成精品久久久久| 欧美日韩在线观看不卡| 国产成人三级| 奇米成人av国产一区二区三区| 亚洲精品成av人片天堂无码| 1000精品久久久久久久久| 欧美伦理视频在线观看| 神马久久av| 久久久久久午夜| 国产黄色片免费观看| 国产精品毛片高清在线完整版| 无码人妻丰满熟妇区五十路百度| 伦理一区二区三区| 久久久亚洲影院| 亚洲av无码乱码国产精品| 国产精品国产三级国产aⅴ原创 | 成人午夜大片免费观看| 男女裸体影院高潮| 麻豆精品久久| 精品中文字幕视频| www.蜜臀av.com| 亚洲黄色片在线观看| 三级黄色片免费看| 综合在线视频| 97超级碰碰| 特级毛片在线| 精品美女一区二区三区| 九九视频免费在线观看| 国产成人av一区二区| 国产内射老熟女aaaa| 韩国三级成人在线| 久久99精品久久久久久青青91| 不卡的日韩av| 亚洲一区二区视频在线| 韩国三级hd两男一女| 激情欧美日韩| 激情五月综合色婷婷一区二区| 99爱在线观看| 亚洲人成人99网站| 伊人免费在线观看高清版| 中文字幕在线一区| 18深夜在线观看免费视频| 国产精品久久| 精品欧美国产一区二区三区不卡| 最新欧美色图| 综合国产在线观看| 国产精品自拍电影| 亚洲国产日韩av| 一本加勒比波多野结衣| 久久精品网址| 正在播放久久| www.豆豆成人网.com| 45www国产精品网站| √新版天堂资源在线资源| 欧美一区二区三区四区高清| 国产亚洲精品成人| 国产三级精品三级| 人妻少妇偷人精品久久久任期| 亚洲久久成人| 天天爽天天狠久久久| 中文字幕一区日韩精品| 国产成人亚洲综合青青| 免费观看久久久久| 亚洲国产欧美久久| 凹凸精品一区二区三区| 尤物视频一区二区| 久久精品视频18| 国产精品一区二区三区99| 黄色成人在线看| 日韩中文欧美| 国产精品亚洲一区| 日韩福利影视| 欧美一级淫片播放口| 免费大片在线观看www| 日韩电视剧免费观看网站| 中文字幕日本人妻久久久免费 | 无码人妻精品一区二区蜜桃色欲| 亚洲欧洲成人自拍| 熟妇高潮精品一区二区三区| 麻豆91在线播放| 国产免费黄色小视频| 婷婷伊人综合| 色播亚洲婷婷| 外国成人在线视频| 亚洲综合成人婷婷小说| 99精品国自产在线| 91国产高清在线| 污污影院在线观看| 日韩在线观看网站| 国内在线精品| 日韩福利在线播放| 俄罗斯嫩小性bbwbbw| 欧美精品自拍偷拍| 久久精品国产亚洲av麻豆蜜芽| 亚洲一区二区3| 成年人二级毛片| 中文字幕av一区二区三区免费看| 欧美深性狂猛ⅹxxx深喉| 国产成人亚洲综合a∨婷婷图片| 狠狠热免费视频| 欧美亚洲一级| 免费看又黄又无码的网站| 国产精品激情| 青青草综合视频| 天天天综合网| 影音先锋欧美在线| 日韩精品看片| 日韩在线三区| 国产成人高清| 日本一区二区精品视频| 欧美亚洲国产日韩| 国产一区二区三区奇米久涩| 成人搞黄视频| 超碰97网站| 亚洲啊v在线免费视频| 97欧洲一区二区精品免费| www.久久草.com| 91影院在线免费观看视频| 欧美日韩视频免费看| 国产精品揄拍500视频| 日本成人福利| 国产精品www色诱视频| 欧洲一区二区三区精品| 国产mv免费观看入口亚洲| 性欧美videohd高精| 国产999视频| 国产原创一区| 亚洲精品免费在线视频| 视频一区日韩精品| 国产精品亚洲不卡a| 青青久久av| 欧美日韩国产综合视频在线| 中文有码一区| 亚欧精品在线| 午夜久久美女| 欧美精品一区二区三区三州| 国产精品久久久一区二区| 18禁免费无码无遮挡不卡网站| 久久不射中文字幕| 欧美精品久久久久久久久25p| 黄网站免费久久| 国产精品无码自拍| 99麻豆久久久国产精品免费 | 日批视频在线播放| 日韩精品极品视频| 国产在线视频你懂得| xxav国产精品美女主播| 国产高清在线a视频大全| 欧美亚洲激情视频| 久久久久久久性潮| 粉嫩高清一区二区三区精品视频| 三级精品视频| 亚洲一区精品视频| 欧美另类专区| 日本在线观看a| 久久99久久99| 在线xxxxx| 国产欧美视频在线观看| 欧美交换国产一区内射| 欧美日韩国产在线播放| 国产又粗又长又大视频| 亚洲第一区中文字幕| 国产69久久| 欧美极品少妇xxxxx| 性欧美freehd18| 成人午夜电影免费在线观看| 狠狠色狠狠色综合婷婷tag| 国产一级黄色录像片| 麻豆九一精品爱看视频在线观看免费| 男人午夜视频在线观看| 99在线精品视频| www深夜成人a√在线| 黑人狂躁日本妞一区二区三区| 91亚洲国产成人久久精品麻豆| 亚洲国产精品yw在线观看| 中文字幕在线免费| 2023亚洲男人天堂| 国产精品日韩精品在线播放| 欧美国产一二三区| 欧美日韩精品| 婷婷六月天在线| 久久综合精品国产一区二区三区| 黄色录像二级片| 色播五月激情综合网| 亚洲免费不卡视频| 久久九九国产精品怡红院| 极品美女一区| 国产精选一区二区| 亚洲国产成人精品女人| 久久久国产欧美| 2019国产精品| 中文字幕一区二区三区手机版| 91.成人天堂一区| 国产福利片在线| 欧美伊久线香蕉线新在线| 综合中文字幕| www.69av| 国产真实乱对白精彩久久| 国产破处视频在线观看| 欧美午夜激情小视频| 黄频网站在线观看| 欧美另类第一页| 国产999精品在线观看| 一本一道久久久a久久久精品91| 久久激情中文| 国产精品1000部啪视频| 亚洲成人久久影院| 亚洲国产精品国自产拍久久| 久久亚洲精品中文字幕冲田杏梨| 国产亚洲精品久久久久久无几年桃 | 黄色亚洲网站| 欧美日本韩国国产| 欧美综合国产| 日本高清www| 色综合色综合色综合| 天天干天天舔天天射| 国外成人在线播放| 国产suv精品一区二区四区视频| 欧美性潮喷xxxxx免费视频看| 国产乱妇无码大片在线观看| 91高清免费看| 日韩精品中文字幕一区二区三区| 中文字幕中文字幕在线十八区 | jlzzjlzz亚洲女人| 四虎永久国产精品| 丝袜诱惑亚洲看片| 国产精品免费无码| 欧美图区在线视频| 欧美性猛交xxx乱大交3蜜桃| 成人av资源在线播放| 五月天激情综合网| 亚洲成人手机在线观看| 一区二区视频在线| 少妇高潮一区二区三区99小说| 97精品久久久| 亚洲人成亚洲精品| 五月婷婷丁香综合网| 亚洲欧美日韩国产成人精品影院| av在线资源观看| 久久久中精品2020中文| 一道本一区二区三区| 国产精品乱码久久久久| 中文字幕永久在线不卡| 亚洲第一天堂在线观看| 69av在线视频| 成人av国产| 午夜免费一级片| 婷婷成人激情在线网| 国产一二三在线观看| 91免费国产网站| 1024日韩| 日韩av片在线| 日韩欧美一区二区不卡| 在线毛片观看| 欧美日韩亚洲国产成人| 成人午夜精品一区二区三区| 久久免费激情视频| 日日噜噜噜夜夜爽亚洲精品| 香港久久久电影| 久久久久久久片| 一区二区三区四区蜜桃| 欧美白人做受xxxx视频| 成人午夜黄色影院| 国产日韩亚洲| 97在线观看视频免费| 亚洲国产精久久久久久| 欧美风情在线视频| 91视频 -- 69xx| 亚洲色图欧美激情| 亚洲人成色777777精品音频| 国产日韩欧美视频| 亚洲女人av| 欧美成人一区二区三区高清| 亚洲人成绝费网站色www| 1313精品午夜理伦电影|