排序
面试题:说说你对 ES6 中 rest 参数的理解?
ES6(ECMAScript 2015)引入的 Rest 参数(Rest Parameters)是一种非常实用的语法特性,它允许我们将一个不确定数量的参数表示为一个数组。它的核心思想是“收集剩余的参数”。 1. 基本语法 Re...
面试题:ES6 的 Proxy 可以实现什么功能?
ES6 引入的 Proxy 是一个非常强大的元编程(Metaprogramming)特性。它允许你创建一个代理对象,用于拦截并自定义对另一个对象(目标对象)的基本操作(如属性读取、赋值、枚举、函数调用等)。...
面试题:️如果 new 一个箭头函数会怎么样?
使用 new 操作符来调用一个箭头函数会抛出一个 TypeError 错误。 箭头函数不能用作构造函数。 1. 直接示例 const ArrowFunc = () => { console.log('I am an arrow function'); }; // 尝试用 ne...
面试题:️ES6 新增的 Symbol 基础数据类型有什么作用?
ES6 引入的 Symbol 是 JavaScript 的第七种原始数据类型(primitive data type),其他六种是:string、number、boolean、null、undefined 和 object(object 是引用类型,但 typeof null 也返...
面试题:️ES6 箭头函数的 this 指向哪⾥?
ES6 箭头函数(Arrow Functions)最核心的特性之一就是它不绑定自己的 this。箭头函数中的 this 指向是在函数被创建时就确定的,它继承自外层(包裹它的)普通函数或全局作用域的 this 值。这种...
面试题:ES Module 与 CommonJS 模块方案有什么异同?
ES Module (ESM) 和 CommonJS (CJS) 是 JavaScript 中两种主流的模块化方案。它们都旨在解决代码组织、依赖管理和命名空间污染的问题,但在设计理念、语法和行为上存在显著差异。 一、 核心相同...
面试题:ES6 新增了哪些字符串处理函数?
ES6(ECMAScript 2015)及后续的 ES2016、ES2017、ES2018、ES2019、ES2020、ES2021 等版本为 JavaScript 的字符串对象引入了许多实用的新方法,极大地简化了字符串的处理。以下是面试中常被问到...
面试题:️ES6 有哪些新特性?
ES6(ECMAScript 2015)是 JavaScript 语言历史上一次重大的更新,引入了大量现代化的语法和特性,极大地提升了语言的表达能力、开发效率和代码可维护性。以下是 ES6 的主要新特性,按类别进行...
面试题:ES6 中,如何提取深度嵌套的对象中的指定属性?
在 ES6 及后续版本中,提取深度嵌套对象中的属性,最常用和推荐的方法是使用 解构赋值 (Destructuring Assignment),并结合 可选链操作符 (Optional Chaining, ES2020) 来安全地处理可能为 null...
面试题:什么是 ES6 的数组解构和对象解构?
ES6(ECMAScript 2015)引入的解构赋值(Destructuring Assignment)是一种非常强大且优雅的语法,它允许你从数组或对象中提取数据,并将其赋值给变量。这极大地简化了数据提取的代码,使其更简...