精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

亚洲午夜精品久久久久久人妖| 欧美壮男野外gaytube| 午夜一级免费视频| 欧美家庭影院| 久久久久久97三级| 91久久精品久久国产性色也91| 国产一级在线观看视频| 久久av综合| 日韩欧美国产麻豆| 天堂中文视频在线| 久久婷婷综合国产| 国产成人精品三级高清久久91| 一区二区三区蜜桃网| 激情五月综合色婷婷一区二区| 中文字幕在线观看高清| 国产日韩精品视频一区二区三区 | 国产美女一区| 久久夜色撩人精品| 无码人妻精品一区二区中文| 激情黄产视频在线免费观看| 自拍偷拍欧美激情| 日韩高清dvd| 天天干天天摸天天操| 国产一区二区三区高清播放| 国产精品18久久久久久麻辣| 国产无码精品在线观看| 欧美xxx在线观看| 最近的2019中文字幕免费一页 | 九色porny91| 不卡一本毛片| 一区二区三区在线不卡| 亚洲第一导航| 亚洲天堂视频网| 国产日韩一区二区三区在线播放| 欧美理论片在线观看| 91香蕉视频污在线观看| 激情五月综合网| 日韩成人在线免费观看| 国产伦精品一区二区免费| 亚洲一区电影| 欧美不卡一区二区三区| 国产婷婷一区二区三区| 色yeye免费人成网站在线观看| 一色屋精品亚洲香蕉网站| 日韩中文一区| 91社区在线观看播放| 亚洲国产精品二十页| 视频在线精品一区| 91涩漫在线观看| 国产精品天美传媒| 亚洲国产一区二区三区在线| a视频网址在线观看| 久久久久久久av麻豆果冻| 国产精品免费视频一区二区| 亚洲第一色视频| 懂色一区二区三区免费观看 | 亚洲av无码一区二区三区性色 | 欧美日韩第一区日日骚| 午夜宅男在线视频| 久久久久久久性潮| 欧美日本乱大交xxxxx| 无尽裸体动漫2d在线观看| 亚洲在线资源| 一区二区免费视频| wwwwww欧美| а√天堂中文在线资源8| 日韩欧美在线观看| 亚洲视频在线观看一区二区三区| 国产极品久久久久久久久波多结野 | 亚洲性av网站| 国精品人伦一区二区三区蜜桃| 国产精品久久久乱弄 | 亚洲成人免费电影| 免费av手机在线观看| 欲香欲色天天天综合和网| 91高清视频在线| 天天综合网久久| 日韩成人视屏| 日韩成人在线网站| 999久久久国产| 欧美日本一区| 青草青草久热精品视频在线网站| 在线免费看毛片| 国产精品一二三| 久久久久久久久久久久久9999| yw193.com尤物在线| 成人免费在线观看入口| 国产欧美日韩网站| 成人黄色在线| 亚洲成年人影院在线| 国产视频三区四区| 亚洲经典一区| 日本一本a高清免费不卡| 在线观看免费高清视频| 成人综合婷婷国产精品久久蜜臀| 国产精品主播视频| 亚洲av无码乱码国产麻豆| 久久一夜天堂av一区二区三区| 99在线视频免费观看| 深夜福利在线观看直播| 中文字幕视频一区| 国产精品97在线| 九九色在线视频| 在线视频国产一区| www.欧美com| 成人免费电影网址| 91精品91久久久久久| 国产一区二区女内射| 久久亚洲一区二区三区明星换脸| 色一情一乱一乱一区91| 外国电影一区二区| 亚洲精品久久久久久久久| 欧美h片在线观看| 老司机久久99久久精品播放免费| 成人看片在线| 久久精品视频观看| 欧美三级三级三级| 中文字幕狠狠干| 国产成人精品三级高清久久91| 欧美国产在线电影| 国产熟女一区二区丰满| 欧美激情在线免费观看| 久久精品99国产| 久久97精品| 久久久久久久久久久免费| 国产又爽又黄免费软件| 国产一区二区视频在线播放| 热re99久久精品国产99热| 高潮在线视频| 精品国产免费人成电影在线观看四季| 中文字幕无码日韩专区免费| 久久精品国产精品亚洲红杏 | 伊人青青综合网| 国产精品福利在线观看网址| 偷拍自拍在线| 欧美日韩中文字幕在线视频| 超碰97在线资源站| 最新成人av网站| 99porn视频在线| 中文av资源在线| 亚洲成人精品影院| 熟妇无码乱子成人精品| 91精品国产自产在线观看永久∴ | 超碰超碰在线观看| 久久激情电影| 国产亚洲欧美aaaa| 六月丁香在线视频| 91污在线观看| 熟女性饥渴一区二区三区| 香蕉久久精品日日躁夜夜躁| 欧美一级黄色网| 欧美日韩国产中文字幕在线| 日韩欧美中文第一页| 欧美成人午夜精品免费| 久久国产免费| 亚洲人一区二区| 成人黄色91| 欧美富婆性猛交| 隣の若妻さん波多野结衣| 午夜日韩在线电影| 国产特级黄色录像| 欧美aaaaa成人免费观看视频| 亚洲一区综合| 欧美午夜网站| 97久久精品在线| 超碰在线国产| 3751色影院一区二区三区| 久久久久亚洲AV成人| 成人激情免费网站| av网站在线观看不卡| 成人免费在线播放| 成人高清在线观看| 色是在线视频| 日韩中文字幕精品视频| 精品人妻少妇AV无码专区| 国产亚洲一区二区在线观看| 久久婷婷综合色| 欧美+亚洲+精品+三区| 国产精品区一区二区三在线播放| 成人教育av| 久久精品国产96久久久香蕉| 日韩一卡二卡在线| 玉米视频成人免费看| 国产一级二级视频| 久久精品72免费观看| 国产精品视频网站在线观看| 国产成人一区二区三区影院| 91在线视频精品| 在线毛片观看| 美日韩精品免费视频| 视频一区二区三区在线看免费看| 欧美日韩夫妻久久| 国产精品午夜影院| 亚洲欧美日韩国产成人精品影院| 成人免费无码大片a毛片| 久久99精品久久久久久久久久久久 | 中文字幕人妻一区| 久久精品国产秦先生| 久久久久久久午夜| 亚洲视频电影在线| 日本一区二区三区免费观看| jizz性欧美23| 91社区国产高清| 我爱我色成人网| 久久久免费精品| 亚洲1卡2卡3卡4卡乱码精品| 日韩久久免费电影| a视频免费在线观看| 欧美三级中文字幕在线观看| 成年人视频在线免费看| 18欧美乱大交hd1984| 中文字幕免费高清| 成人av在线观| 麻豆精品国产传媒| 久久精品国产一区二区三| 日韩视频第二页| 亚洲伦理精品| 一本久道高清无码视频| 女人香蕉久久**毛片精品| 亚洲国产一区二区精品视频| 国产欧美亚洲精品a| 狠狠色综合色区| 9l亚洲国产成人精品一区二三| 亚洲自拍偷拍区| 麻豆久久久久| 成人国产精品久久久久久亚洲| 午夜老司机在线观看| 亚洲免费视频一区二区| 神马午夜在线观看| 精品第一国产综合精品aⅴ| 国产黄色一区二区| 91精品在线一区二区| 在线视频免费观看一区| 欧美性猛片aaaaaaa做受| 日本久久综合网| 最新热久久免费视频| 亚洲毛片亚洲毛片亚洲毛片| 国产日韩精品一区二区浪潮av| 强伦人妻一区二区三区| 久久精品在这里| 男人舔女人下部高潮全视频| 国产日产精品1区| av女人的天堂| 国产精品网站一区| 熟女少妇a性色生活片毛片| 亚洲欧洲综合另类在线| 全网免费在线播放视频入口| 亚洲卡通动漫在线| 久久综合加勒比| 精品久久久香蕉免费精品视频| 欧美一区二区三区四| 一本色道久久综合亚洲aⅴ蜜桃| 日韩一级在线视频| 在线观看免费亚洲| 中文字幕在线网址| 欧美日韩国产综合一区二区三区| 一区二区久久精品66国产精品| 91精品国产综合久久久久| 国产情侣自拍av| 欧美日韩中文字幕综合视频| 午夜精品一区二| 欧美日韩国产高清一区二区三区| 99er热精品视频| 欧美成人官网二区| 视频三区在线观看| 色小说视频一区| 日本高清在线观看| 5566日本婷婷色中文字幕97| 韩日精品一区| 超碰在线97av| 亚洲人成网www| 伊人情人网综合| 国产精品videosex极品| 欧洲黄色一级视频| 久久se精品一区二区| 国产成人精品一区二区在线小狼| 久久人人超碰精品| 中文字幕求饶的少妇| 亚洲一区二区三区不卡国产欧美| 无码人妻久久一区二区三区| 91精品国产丝袜白色高跟鞋| 青青草视频在线观看| 俺去亚洲欧洲欧美日韩| 牛牛精品一区二区| 国产在线日韩在线| 欧美午夜寂寞| 2021狠狠干| 天堂一区二区在线| 日本黄色一级网站| 国产亚洲精品精华液| 欧美激情图片小说| 91久久香蕉国产日韩欧美9色| av资源免费看| 在线观看欧美视频| www.8ⅹ8ⅹ羞羞漫画在线看| 国产欧美va欧美va香蕉在线| 国产欧美自拍一区| 福利网在线观看| 三级亚洲高清视频| 97精品人妻一区二区三区蜜桃| 国产精品视频九色porn| 日韩美女黄色片| 欧美一区二区三级| www.中文字幕久久久| 国产+人+亚洲| 国产专区精品| 亚洲免费不卡| 亚洲欧美卡通另类91av| 国产乱淫av麻豆国产免费| 中文字幕不卡在线| 亚洲黄色小说图片| 精品88久久久久88久久久| 黄a在线观看| 国产精品青青在线观看爽香蕉 | 国产精品一区二区免费不卡| 亚洲色成人网站www永久四虎 | 欧美高清在线精品一区| 懂色av.com| 欧美性猛交丰臀xxxxx网站| 日韩欧美一区二区三区四区| 综合日韩在线| 五月婷婷激情久久| 91网站视频在线观看| 精品爆乳一区二区三区无码av| av中文一区二区三区| 手机av在线看| 亚洲精品美国一| 亚洲图片欧美在线| 亚洲网站在线播放| 欧美日韩视频免费观看| 久久国产精品 国产精品| 亚洲精品九九| 在线xxxxx| 亚洲大型综合色站| 亚洲男人第一天堂| 人人妻人人澡人人爽人人精品 | 欧美破处大片在线视频| 亚洲免费一级视频| 国产欧美日韩中文久久| 日韩精品一区二区亚洲av| 亚洲国产精品热久久| 九色porny丨入口在线| 精品久久久久久亚洲| 亚洲精品护士| 日本黄色免费观看| 欧美性猛交xxxx乱大交蜜桃| 精华区一区二区三区| 国产精品福利在线观看| 日韩视频在线观看| 制服丝袜专区在线| 97色在线视频| 欧美美女在线直播| 91九色在线观看视频| 91伊人久久大香线蕉| 亚洲熟妇无码乱子av电影| 亚洲欧美日韩第一区| 99久久综合国产精品二区| 亚洲欧洲日韩综合二区| 精一区二区三区| 国产亚洲成人精品| 日韩成人在线网站| 国产成人精品123区免费视频| 日韩激情视频| 寂寞少妇一区二区三区| 加勒比婷婷色综合久久| 精品福利在线导航| 吉吉日韩欧美| 日本成人性视频| 成人一级视频在线观看| 伊人手机在线视频| 中文字幕久久久av一区| 国产精品欧美一区二区三区不卡| 日本阿v视频在线观看| 91老师国产黑色丝袜在线| 亚洲一区二区影视| 欧美人在线观看| 美女亚洲一区| 欧美性猛交xx| 欧美午夜性色大片在线观看| wwwxxx在线观看| 超碰97在线播放| 欧美a级理论片| 国产网址在线观看| 中文字幕视频一区二区在线有码| 一区二区三区在线资源| 日本熟妇人妻中出| 夜夜嗨av一区二区三区| 番号在线播放| 国产精品区一区二区三在线播放| 日本成人在线电影网| 日韩精品在线不卡| 久久精品一偷一偷国产| 丝袜美腿综合| 亚洲丝袜在线观看| 在线免费观看成人短视频| 国产精品蜜臀| 正在播放亚洲| 久久精品无码一区二区三区| 丰满肉嫩西川结衣av| 成人美女av在线直播|