Zlog
首页归档关于
Zlog

一个探索技术、编程和构建 Web 的个人空间。

© 2026 Zlog

导航

首页归档关于

链接

/
|
·
·
·
首页/无法访问 undefined、null 的属性

无法访问 undefined、null 的属性

而访问另外三个原始类型(Number、String、Number)则不会存在问题。

Z

Zephyr110

2019年12月28日·1 分钟
|
frontendfrontend-javascript

介绍

经常会遇到报错信息:

js
Uncaught TypeError: Cannot read property 'xxx' of null
Uncaught TypeError: Cannot read property 'xxx' of undefined

而访问另外三个原始类型(Number、String、Number)则不会存在问题。

包装对象

“

. 符号可用来访问一个对象的属性。

当原始类型访问属性时就会调用各自对应的构造函数方法,如:

  1. Number:new Number(n);
  2. String:new String(s);
  3. Boolean:new Boolean(b)。

即可得到根本原因:

js
const N = new Number();
const S = new String();
const B = new Boolean();
typeof N === typeof S === typeof B === "object"
“

引申:

js
typeof null; // object

按照 JavaScript 中类型的划分应当返回为 null,这是 JavaScript 中一直存在的 bug,但永远都不会修复了,因为有太多已经在运行代码依赖于这个 bug。

标签

frontendfrontend-javascript

评论 (0)

评论功能仅在主站可用,请访问 zephyr110.vercel.app

相关文章

OffscreenCanvas

MDN-OffscreenCanvas

2025年12月10日·7 分钟

Service Worker

Web worker 是一种在浏览器中运行的后台脚本,它可以在独立的线程中执行任务,而不会阻塞主线程的执行。Web worker 的主要作用是处理耗时的计算任务,例如图片处理、文本分析、数据处理等,以避免阻塞主线程,提高页面的响应性能

2024年5月28日·4 分钟

vue-tour二次封装

npm install vue-tour

2023年7月22日·7 分钟

← 返回文章列表