前端进阶之旅前端进阶之旅
  • 基础篇HTML/CSS/JS 打底
  • 进阶篇原理与工程化
  • 高频篇面试最常问的那批
  • 精选篇按模块收敛的总结
  • 手写篇常考代码手写实现
  • 面经篇真实面试问题复盘
  • AI 篇NEWAI 时代的前端考点
  • 历年面经NEW按年份追踪真实考点
  • 每日一题每天一道,攒手感
  • 专项自测100 题快速查漏
  • 小程序题库小程序专项刷题
  • 算法题库NEW在线编码即时判题
  • 知识卡片NEW碎片时间过考点
  • 面试题大全常见问题解析
  • AI 答疑NEW随时提问,即时解析
  • AI 模拟面试NEW模拟真实面试 + 报告
  • AI 定制路线NEW按你的简历现排
  • AI 知识地图NEW串起全站知识点
  • 原理篇React / Vue 源码拆解
  • HTTP从报文一路讲到 HTTPS
  • 浏览器渲染、事件循环、进程
  • 计算机基础Linux、网络、操作系统
  • 设计模式23 种模式怎么用
  • Node学习指南从环境搭建到服务端
  • NPM工作流script、依赖与发布
  • Docker容器化部署上手
  • Canvas图形与动画实战
  • 前端系统进阶学习大型项目工程化
  • 前端综合文章长期沉淀的实践文
  • 思维导图知识点全景图
  • 学习路线按图索骥不跑偏
  • AI 热点NEWAI 每日动态
  • 公众号动态公众号历史文章
  • 博客动态站长的技术博客
  • 开发者导航常用工具与文档站
  • 基础篇HTML/CSS/JS 打底
  • 进阶篇原理与工程化
  • 高频篇面试最常问的那批
  • 精选篇按模块收敛的总结
  • 手写篇常考代码手写实现
  • 面经篇真实面试问题复盘
  • AI 篇NEWAI 时代的前端考点
  • 历年面经NEW按年份追踪真实考点
  • 每日一题每天一道,攒手感
  • 专项自测100 题快速查漏
  • 小程序题库小程序专项刷题
  • 算法题库NEW在线编码即时判题
  • 知识卡片NEW碎片时间过考点
  • 面试题大全常见问题解析
  • AI 答疑NEW随时提问,即时解析
  • AI 模拟面试NEW模拟真实面试 + 报告
  • AI 定制路线NEW按你的简历现排
  • AI 知识地图NEW串起全站知识点
  • 原理篇React / Vue 源码拆解
  • HTTP从报文一路讲到 HTTPS
  • 浏览器渲染、事件循环、进程
  • 计算机基础Linux、网络、操作系统
  • 设计模式23 种模式怎么用
  • Node学习指南从环境搭建到服务端
  • NPM工作流script、依赖与发布
  • Docker容器化部署上手
  • Canvas图形与动画实战
  • 前端系统进阶学习大型项目工程化
  • 前端综合文章长期沉淀的实践文
  • 思维导图知识点全景图
  • 学习路线按图索骥不跑偏
  • AI 热点NEWAI 每日动态
  • 公众号动态公众号历史文章
  • 博客动态站长的技术博客
  • 开发者导航常用工具与文档站
首页程序员面试题库第 48 页
面试知识索引 · 分类、标签与搜索

5000 道程序员面试题,每题都有完整答案

程序员面试题库第 48 页,收录第 2351–2400 题,共 5000 道完整解析,覆盖前端、JavaScript、React、Vue、Node.js、AI Agent、网络、数据库与系统设计。

5,000完整问题
52技术分类
178检索标签
100索引分页
按分类建立知识面,再用标签和搜索定位问题

每页只渲染 50 道题。分类与标签分页可抓取,自由搜索结果不会制造无限 SEO 页面。

快速定位

分类、标签与关键词搜索

题库检索
技术分类52 个
全部分类5000AI Agent511浏览器301JavaScript285React281AI 开发262CSS240Node.js217TypeScript206Vue180前端工程化138React Native135
查看全部 52 个分类
操作系统135数据库134Docker95计算机网络94API 设计90Kubernetes90HTML89Redis89全栈开发88分布式系统88系统设计86HTTP85Next.js60Angular58Linux53Nuxt51PostgreSQL46可观测性46设计模式46小程序45身份与权限45无障碍44MongoDB43PWA43Web 安全43Git42前端测试42前端性能41WebAssembly40测试40AI 工程37SvelteKit37Go35前端数据管理30React Router29AI 全栈28Svelte27算法12Java10数据结构5前端手写题3
热门标签178 个
并发编程448缓存355性能优化340安全336异步编程292类型系统215构建工具211容器化184流处理177表单157SQL148HTTP141路由140离线应用121网络协议111
查看其余 163 个标签
测试109数据库事务95实时通信92Web 可访问性90动画79可观测性77Agent 记忆75向量检索66工具调用66LangGraph59Prompt56任务规划53排障与运维53数据库索引52浏览器自动化51Flexbox50值与类型50GraphQL49事务与并发49构建与镜像49DNS 与 TLS48工程协作与交付48AI 评测47CSS Grid47Express 服务47MCP47副作用与同步47向量与嵌入47文件与多媒体47流与二进制47传输与协议46列表与性能46可维护代码46响应式原理46容器运行46指标日志追踪46数据建模与运维46文件与 I/O46表单与输入46MCP 协议45RAG45Vite 与模块构建45Webpack45内存与虚拟化45原生集成45多 Agent45工作负载与发布45应用与性能45数据处理45模块与工具链45组件与模板45缓存与数据结构45网络与运维45评估与调试45身份认证与授权45运行时与开发45Web 系统方案44一致性与容错44侦听与生命周期44分布式使用44原生组件与交互44可访问交互44消息与异步处理44渲染与调度44索引与执行计划44组件设计44缓存与代理44进程与并发44层叠与选择器43攻击面与防御43文档数据库43权限与安全43离线与渐进增强43语义与文档43请求与通信 API43Worker 与线程协作42事件系统42存储与离线数据42服务架构42服务端与流式渲染42服务端工程42泛型设计42版本控制42类型收窄42类型运算42组件与端到端42编码与执行42进程与线程42DOM 与文档操作41Flex 布局41HTTP 语义41NestJS 架构41REST 与接口契约41SQL 查询41加载与交互性能41动画与视觉41类型工程41记忆与状态41运行时与调度41Agent 架构40WebAssembly 集成40单元与集成测试40多 Agent 协作40工作流编排40模块与语言机制40浏览器与 UI 自动化40生产运行40函数与作用域39响应式设计39性能与并发39类型系统基础39Grid 布局38数组与集合38盒模型与排版38Hooks 与复用37应用开发37推理与成本37状态共享37知识库数据37模型与应用评测36对象与原型35状态与渲染35语言与并发35异步与 Promise34Effect32RAG 检索31React 性能31响应式与性能31微调与数据31TanStack Query30全栈边界30数据与缓存30大模型基础29路由与数据流29事件循环28流式交互28提示与上下文设计27数据与服务端27组件与依赖注入27组件与响应式27多模态应用24应用与渲染24Hydration22沙箱安全22状态管理18算法18CI/CD13语言与运行时10React Server Components6搜索与排序4实用函数实现3链表栈队列3图算法2字符串算法2树与遍历2索引与高级结构2Kubernetes1作用域与函数1动态规划1异步与浏览器1手写与交互性能1数组与双指针1相等比较1
当前页48 / 100

正在显示第 2351–2400 题

JavaScript50
第 48 页

本页面试问题

按稳定语义路径排序

  1. 2351
    JavaScript模块与语言机制

    哪些静默错误在严格模式下会变成抛出异常?请给出一个例子。

    围绕“哪些静默错误在严格模式下会变成抛出异常?请给出一个例子”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖列举如给只读属性赋值、删除不可删除属性、参数重名等典型。

    核心关键词严格模式静默错误转异常示例
    #模块与语言机制
  2. 2352
    JavaScript模块与语言机制

    在严格模式下,普通函数中的 this 默认是 undefined,为什么这有助于避免错误?

    围绕“在严格模式下,普通函数中的 this 默认是 undefined,为什么这有助于避免错误”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明不会默认绑定全局,可减少意外 mutation。

    核心关键词严格模式函数内 this 为 undefined
    #模块与语言机制
  3. 2353
    JavaScript模块与语言机制

    在严格模式下,模块顶层 this 的值是什么?为什么它与传统脚本的全局 this 不同?

    围绕“在严格模式下,模块顶层 this 的值是什么?为什么它与传统脚本的全局 this 不同”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖重点说明模块顶层 this 为 undefined。

    核心关键词ESM 顶层 this 为 undefined
    #模块与语言机制
  4. 2354
    JavaScript模块与语言机制

    为什么 import 声明只能出现在模块顶层?如果放在代码块中会怎样?

    围绕“为什么 import 声明只能出现在模块顶层?如果放在代码块中会怎样”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明静态语法的强制要求,不能条件导入,除非使用动态 import()。

    核心关键词import 为什么只能在模块顶层
    #模块与语言机制
  5. 2355
    JavaScript模块与语言机制

    在模块顶层使用 await 会如何影响模块的执行和依赖加载?

    围绕“在模块顶层使用 await 会如何影响模块的执行和依赖加载”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 await 使模块异步化,阻塞兄弟模块解析,不是 ES2017 的普通运算符。

    核心关键词顶层 await 对模块执行的影响
    #模块与语言机制#异步编程
  6. 2356
    JavaScript对象与原型

    在 ES6 class 的构造器中必须先调用 super() 吗?为什么?

    本题解析为什么派生类构造器必须先调用 super(),以及调用顺序对 this 绑定、字段初始化的影响。通过示例展示正确用法与错误边界。

    核心关键词class 构造器 super this 绑定顺序
    #对象与原型
  7. 2357
    JavaScript对象与原型

    在 class 类字段中箭头函数定义的实例方法相比原型方法有什么性能或功能差异?

    围绕“在 class 类字段中箭头函数定义的实例方法相比原型方法有什么性能或功能差异”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕类字段箭头函数每次实例创建时都会生成新函数,导致多份实例方法内存开销,但可以在构造函数前捕获 this。

    核心关键词class 字段箭头函数方法与原型方法差异
    #对象与原型#性能优化
  8. 2358
    JavaScript对象与原型

    当一个构造函数显式返回一个对象时,new 表达式的结果是什么?如果返回原始值呢?

    本文解释构造函数显式返回对象或原始值时 new 表达式的行为差异。通过代码演示对象覆盖新建实例、原始值被忽略的机制,并给出识别与利用该行为的判断方法,涵盖函数与 class 构造器的场景。

    核心关键词构造函数 return 对象或原始值时 new 的结果
    #对象与原型
  9. 2359
    JavaScript对象与原型

    在 class 中定义私有字段的语法是什么?私有字段如何实现真正私有?

    围绕“在 class 中定义私有字段的语法是什么?私有字段如何实现真正私有”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕使用 # 前缀声明,只能在类内部访问,通过严格词法作用域保证。

    核心关键词class 私有字段 # 语法与真正私有
    #对象与原型
  10. 2360
    JavaScript对象与原型

    在 ES5 原型继承中,为什么要将子类的 prototype 设置为父类实例?Object.create 如何改进?

    围绕“在 ES5 原型继承中,为什么要将子类的 prototype 设置为父类实例?Object.create 如何改进”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖设置 prototype 为父实例是基础,但会共享实例属性,且需要重置 constructor,Object.create 避免构造函数。

    核心关键词ES5 原型继承写法 Object.create 改进
    #对象与原型
  11. 2361
    JavaScript对象与原型

    Object.preventExtensions() 后还能给对象新增属性吗?如何判断扩展性?

    围绕“Object.preventExtensions() 后还能给对象新增属性吗?如何判断扩展性”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕禁止新增,但可删改旧属性;通过 Object.isExtensible 判断。

    核心关键词Object.preventExtensions 扩展性判断 isExtensible
    #对象与原型
  12. 2362
    JavaScript对象与原型

    call、apply、bind 三者的区别与各自的使用场景是什么?

    围绕“call、apply、bind 三者的区别与各自的使用场景是什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕call/apply 立即调用,args 分布/数组;bind 返回新函数,预设 this 和参数。

    核心关键词call apply bind 区别与使用场景
    #对象与原型
  13. 2363
    JavaScript对象与原型

    Object.getPrototypeOf() 与 Object.setPrototypeOf() 在现代 JavaScript 中的地位如何?

    围绕“Object.getPrototypeOf() 与 Object.setPrototypeOf() 在现代 Java”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖用于读取或修改对象的 [[Prototype]],虽然属性 __proto__ 也可,但标准方法更安全,且 class 中可用。

    核心关键词Object.getPrototypeOf setPrototypeOf 使用与地位
    #对象与原型
  14. 2364
    JavaScript对象与原型

    在 class 中使用 getter/setter 与普通方法有何区别?它们和属性描述符中的 get/set 是什么关系?

    围绕“在 class 中使用 getter/setter 与普通方法有何区别?它们和属性描述符中的 get/set 是什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕class 的 getter/setter 会被定义在原型上,并创建访问器属性描述符,效果等同 defineProperty。

    核心关键词class getter setter 与属性描述符的关系
    #对象与原型
  15. 2365
    JavaScript对象与原型

    如何区分属性是对象自身属性还是来自原型链?用到哪些 API?

    本文讲清 in 运算符与 hasOwnProperty 的本质差别:前者沿原型链可检测到继承属性,后者只关心对象直接定义的键位。同时引入 Object.hasOwn 处理空原型和覆写场景,并给出实际判断步骤。

    核心关键词hasOwnProperty 与 in 区分自身属性和原型属性
    #对象与原型
  16. 2366
    JavaScript对象与原型

    两个对象用 Object.is() 比较与 === 有何不同?如何处理 NaN 和 +0/-0?

    围绕“两个对象用 Object.is() 比较与 === 有何不同?如何处理 NaN 和 +0/-0”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕Object.is 将 NaN 视为相等,且区分 +0 和 -0,而 === 将两者视为相等。

    核心关键词Object.is 与 === 区别 NaN +0 -0
    #对象与原型
  17. 2367
    JavaScript对象与原型

    Symbol.hasInstance 如何自定义 instanceof 的行为?

    围绕“Symbol.hasInstance 如何自定义 instanceof 的行为”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕通过在类上定义静态 Symbol.hasInstance 方法来改变 instanceof 结果。

    核心关键词Symbol.hasInstance 自定义 instanceof 行为
    #对象与原型
  18. 2368
    JavaScript对象与原型

    Object.prototype.isPrototypeOf() 与 instanceof 有何不同?

    围绕“Object.prototype.isPrototypeOf() 与 instanceof 有何不同”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕isPrototypeOf 检查原型链中是否包含特定对象,instanceof 检查构造函数原型链。

    核心关键词isPrototypeOf 与 instanceof 区别
    #对象与原型
  19. 2369
    JavaScript对象与原型

    Object.keys(), Object.getOwnPropertyNames(), Object.getOwnPropertySymbols() 三者返回的枚举范围有何不同?

    围绕“Object.keys(), Object.getOwnPropertyNames(), Object.getOwn”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕keys 只返回可枚举字符串属性,getOwnPropertyNames 返回所有字符串属性(含不可枚举),symbols 。

    核心关键词Object.keys getOwnPropertyNames getOwnPropertySymbols 区别
    #对象与原型
  20. 2370
    JavaScript对象与原型

    如何不通过继承在多个 class 间共享方法?JavaScript 的 mixin 设计思路是什么?

    围绕“如何不通过继承在多个 class 间共享方法?JavaScript 的 mixin 设计思路是什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕通过 Object.assign 或函数组合将方法混合到原型,避免单一继承的局限。

    核心关键词mixin 模式 class 组合复用方法
    #对象与原型
  21. 2371
    JavaScript对象与原型

    使用 Object.create(null) 创建的对象有什么特殊性?哪些方法不可用?

    围绕“使用 Object.create(null) 创建的对象有什么特殊性?哪些方法不可用”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕没有原型,因此没有 hasOwnProperty、toString 等,且不能用于 instanceof 判断。

    核心关键词Object.create(null) 无原型对象特点
    #对象与原型
  22. 2372
    JavaScript对象与原型

    configurable:false 的属性有哪些操作被禁止?

    围绕“configurable:false 的属性有哪些操作被禁止”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕禁止删除、修改描述符(除 writable 改为 false)、不能切换访问器与数据属性。

    核心关键词configurable false 禁止哪些操作
    #对象与原型#流处理
  23. 2373
    JavaScript对象与原型

    可选链 ?. 能安全访问深层属性,它与传统 && 短路有什么不同?

    围绕“可选链 ?. 能安全访问深层属性,它与传统 && 短路有什么不同”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖可选链可以对 null/undefined 返回 undefined,同时短路整个链条;&& 适用于一般真值判断。

    核心关键词可选链 ?. 与 && 短路的区别
    #对象与原型
  24. 2374
    JavaScript对象与原型

    JavaScript 对象中数字键在枚举时的顺序是怎样的?为何会有这种顺序?

    围绕“JavaScript 对象中数字键在枚举时的顺序是怎样的?为何会有这种顺序”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖整数索引按升序排列,但只适用于数组索引键,其他按插入顺序;for...in 也遵循。

    核心关键词对象整数键枚举顺序及原因
    #对象与原型
  25. 2375
    JavaScript对象与原型

    enumerable 如何影响 for...in 和 Object.keys?

    通过一个同时含普通赋值属性和 defineProperty 属性的对象,展示 enumerable:false 对 for...in 与 Object.keys() 的共同过滤效果,并指出 for...in 还会包含原型链上的可枚举属性,而 Object.keys() 不会。

    核心关键词enumerable 与属性遍历
    #对象与原型
  26. 2376
    JavaScript对象与原型

    用 Object.defineProperty 定义 getter/setter 与字面量访问器有何区别?

    围绕“用 Object.defineProperty 定义 getter/setter 与字面量访问器有何区别”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖主要区别是两种写法的语法不同,但行为一致,且都可定义可枚举/可配置等属性。

    核心关键词Object.defineProperty 定义 getter setter 与字面量区别
    #对象与原型
  27. 2377
    JavaScript对象与原型

    在严格模式下修改 writable:false 的属性会怎样?非严格模式呢?

    本题说明 writable:false 属性在严格模式赋值抛 TypeError、非严格模式静默失败且值不变,并讲解描述符机制、配置对象场景、易失效边界与可操作的检查方式。

    核心关键词writable false 严格模式与非严格模式赋值结果
    #对象与原型#流处理
  28. 2378
    JavaScript对象与原型

    在原型链上查找属性时,JavaScript 的解析顺序是怎样的?

    本文阐明 JavaScript 原型链上属性查找的精确次序,涵盖自身属性优先、逐级上溯至 null、遮蔽效应、this 绑定和运行时原型修改影响,并通过实际代码和工程场景帮助理解。

    核心关键词JavaScript 原型链属性查找顺序
    #对象与原型
  29. 2379
    JavaScript对象与原型

    Proxy 的 get 陷阱如何应用在属性读取上,尤其是在链式调用中?

    围绕“Proxy 的 get 陷阱如何应用在属性读取上,尤其是在链式调用中”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕get 陷阱可以在读取属性时返回自定义函数或值,用于链式调用、自动绑定等。

    核心关键词Proxy get 陷阱 链式调用应用
    #对象与原型
  30. 2380
    JavaScript对象与原型

    如果目标对象具有不可配置且不可写的数据属性,Proxy 的 set 陷阱必须返回什么?

    围绕“如果目标对象具有不可配置且不可写的数据属性,Proxy 的 set 陷阱必须返回什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕满足不变量:如果目标属性不可写且不可配置,则不能修改其值,set 必须返回 false。

    核心关键词Proxy set 陷阱不变量 不可写属性
    #对象与原型
  31. 2381
    JavaScript对象与原型

    JavaScript 的 Object.freeze() 与深度冻结有何区别?如何实现深度冻结?

    围绕“JavaScript 的 Object.freeze() 与深度冻结有何区别?如何实现深度冻结”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕freeze 只冻结对象自身,深度冻结需递归检查并冻结嵌套对象,注意循环引用。

    核心关键词Object.freeze 浅冻结与深度冻结实现
    #对象与原型
  32. 2382
    JavaScript对象与原型

    Reflect.ownKeys() 返回的键顺序是怎样的?与 Object.keys() 有何不同?

    围绕“Reflect.ownKeys() 返回的键顺序是怎样的?与 Object.keys() 有何不同”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕返回所有自身键(含不可枚举和 symbol),顺序为整数索引升序、字符串顺序、最后 symbols;与 keys 不同在于 。

    核心关键词Reflect.ownKeys 键顺序 与 Object.keys 区别
    #对象与原型
  33. 2383
    JavaScript对象与原型

    Reflect.set 与普通赋值在行为上有什么异同?

    围绕“Reflect.set 与普通赋值在行为上有什么异同”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕Reflect.set 返回布尔值,且可通过 receiver 指定 this;赋值不抛出(严格模式可能)。

    核心关键词Reflect.set 与普通赋值行为区别
    #对象与原型
  34. 2384
    JavaScript对象与原型

    如何创建一个可撤销的 Proxy?撤销后操作会怎样?

    围绕“如何创建一个可撤销的 Proxy?撤销后操作会怎样”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕通过 Proxy.revocable 创建,调用 revoke 函数后任何捕获操作都抛出 TypeError。

    核心关键词Proxy.revocable 可撤销代理 撤销后行为
    #对象与原型
  35. 2385
    JavaScript对象与原型

    Object.seal() 与 Object.freeze() 分别允许哪些修改操作?

    围绕“Object.seal() 与 Object.freeze() 分别允许哪些修改操作”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕seal 禁止增删属性但允许修改现有属性值;freeze 使属性不可写且属性不可配置。

    核心关键词Object.seal 与 Object.freeze 允许的操作区别
    #对象与原型
  36. 2386
    JavaScript对象与原型

    什么是深拷贝?如何实现深度克隆一个对象,包括处理循环引用?

    围绕“什么是深拷贝?如何实现深度克隆一个对象,包括处理循环引用”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕深拷贝创建独立结构,循环引用可通过 WeakMap 记录,或使用 structuredClone。

    核心关键词深拷贝实现 循环引用处理
    #对象与原型
  37. 2387
    JavaScript对象与原型

    对象扩展运算符 { ...obj } 会复制哪些属性?非可枚举属性会被复制吗?

    围绕“对象扩展运算符 { ...obj } 会复制哪些属性?非可枚举属性会被复制吗”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕只复制自身的可枚举属性,不复制原型链,也不复制不可枚举。

    核心关键词对象扩展运算符复制哪些属性 可枚举性
    #对象与原型
  38. 2388
    JavaScript对象与原型

    ES6 class 的静态方法会被子类继承吗?如何调用?

    围绕“ES6 class 的静态方法会被子类继承吗?如何调用”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕静态方法通过 [[Prototype]] 链继承,子类可以访问,也可在子类中覆盖。

    核心关键词class 静态方法是否被子类继承
    #对象与原型
  39. 2389
    JavaScript对象与原型

    如何通过 Symbol.toStringTag 来自定义 Object.prototype.toString 的行为?

    围绕“如何通过 Symbol.toStringTag 来自定义 Object.prototype.toString 的行为”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖从 ES6 起,toString 会查找对象的 Symbol.toStringTag 属性来返回自定义标签。

    核心关键词Symbol.toStringTag 自定义 Object.prototype.toString
    #对象与原型
  40. 2390
    JavaScript对象与原型

    如何用 WeakMap 模拟 class 的私有状态?相比 # 私有字段有什么优劣?

    围绕“如何用 WeakMap 模拟 class 的私有状态?相比 # 私有字段有什么优劣”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕WeakMap 键为实例,外部不可见,但需要闭包和模块作用域,不能防止遍历;对比 # 的严格语法。

    核心关键词WeakMap 模拟私有状态 对比 # 私有字段
    #对象与原型
  41. 2391
    JavaScript值与类型

    为什么将数组强制转换为字符串时,空数组会得到空字符串,而 [1,2] 得到 '1,2'?

    围绕“为什么将数组强制转换为字符串时,空数组会得到空字符串,而 [1,2] 得到 '1,2'”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖解释 Array.prototype.toString 调用 join 的机制,以及 null 和 undefined 元素转为空,区别。

    核心关键词数组 toString 强制转换 空数组
    #值与类型
  42. 2392
    JavaScript值与类型

    为什么 typeof [] 返回 'object' 而不是 'array'?如何准确判断一个值是否为数组?

    围绕“为什么 typeof [] 返回 'object' 而不是 'array'?如何准确判断一个值是否为数组”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖解释 typeof 对引用类型的局限,推荐使用 Array.isArray,并指出跨 frame 情形。

    核心关键词Array.isArray typeof 数组检测
    #值与类型
  43. 2393
    JavaScript值与类型

    BigInt 是新增的原始类型,它与 Number 在运算和类型转换上有哪些主要限制?

    围绕“BigInt 是新增的原始类型,它与 Number 在运算和类型转换上有哪些主要限制”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕强调 BigInt 与 Number 不能混合运算,且不能与 Math 方法使用,需显式转换并注意精度损失。

    核心关键词BigInt Number 运算限制
    #值与类型
  44. 2394
    JavaScript值与类型

    创建 BigInt 值时,字面量和构造函数有何区别?如何避免意外转为 Number?

    围绕“创建 BigInt 值时,字面量和构造函数有何区别?如何避免意外转为 Number”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要比较 10n 与 BigInt(10) 的用法,注意 BigInt('10') 与 BigInt(10.1) 的不同,以及不能使用运。

    核心关键词BigInt 字面量 BigInt()
    #值与类型
  45. 2395
    JavaScript值与类型

    在条件判断中,除了布尔值还有哪些值会被转换为假值?请列出完整的假值列表。

    围绕“在条件判断中,除了布尔值还有哪些值会被转换为假值?请列出完整的假值列表”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须给出六个假值:undefined、null、0、-0、NaN、'',并指出对象包括空数组是真值。

    核心关键词JavaScript 假值列表
    #值与类型
  46. 2396
    JavaScript值与类型

    new Boolean(false) 与布尔原始值 false 有何不同?在条件判断中它表现如何?

    围绕“new Boolean(false) 与布尔原始值 false 有何不同?在条件判断中它表现如何”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖指出包装对象永远是 truthy 对象,因此 new Boolean(false) 为 truthy,提醒不要使用包装对象。

    核心关键词Boolean 包装对象 真值
    #值与类型
  47. 2397
    JavaScript值与类型

    访问字符串中某个字符,charAt、charCodeAt 与 codePointAt 有何区别?对表情符号时应使用哪个?

    围绕“访问字符串中某个字符,charAt、charCodeAt 与 codePointAt 有何区别?对表情符号时应使用哪”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕必须阐述索引位置、码元与码点的区别,并给出获取完整字符的正确方法。

    核心关键词charAt charCodeAt codePointAt 区别
    #值与类型
  48. 2398
    JavaScript值与类型

    为什么 [] == ![] 为真,而 [] == [] 为假?请用类型转换规则解释。

    围绕“为什么 [] == ![] 为真,而 [] == [] 为假?请用类型转换规则解释”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖关键是分解 ![] 转换为 false,再调用 ToNumber 导致 '' == 0,同时涉及引用比较于对象比较。

    核心关键词数组相等 类型转换 宽松相等
    #值与类型
  49. 2399
    JavaScript值与类型

    为什么使用 == 比较字符串与数字时会先进行数字转换?这会导致哪些经典陷阱?

    围绕“为什么使用 == 比较字符串与数字时会先进行数字转换?这会导致哪些经典陷阱”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 ToNumber 转换规则,例如 '0' == false 为 true 等,并建议使用严格相等。

    核心关键词宽松相等 字符串数字 转换
    #值与类型
  50. 2400
    JavaScript值与类型

    JavaScript 中宽松相等(==)与严格相等(===)在比较 null 和 undefined 时有怎样的区别?

    围绕“JavaScript 中宽松相等(==)与严格相等(===)在比较 null 和 undefined 时有怎样的区别”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖指出 null == undefined 为 true,且两者与其他值宽松相等均为 false,练习不扩展对象转换。

    核心关键词宽松相等 null undefined 相等性
    #值与类型
上一页
1…4647484950…100
下一页
前端进阶之旅本地 Markdown 维护 · 服务端分页 · 完整内容对用户与搜索引擎一致