排序
面试题:️说说 ES6 扩展运算符的作用及使用场景?
ES6(ECMAScript 2015)引入的扩展运算符(Spread Operator),使用三个点 ... 表示,是一种非常强大且常用的语法特性。它的核心作用是将一个可迭代对象(如数组、字符串、类数组对象...
面试题:ES6 的 Proxy 可以实现什么功能?
ES6 引入的 Proxy 是一个非常强大的元编程(Metaprogramming)特性。它允许你创建一个代理对象,用于拦截并自定义对另一个对象(目标对象)的基本操作(如属性读取、赋值、枚举、函数调用等)。...
面试题:什么是 ES6 的数组解构和对象解构?
ES6(ECMAScript 2015)引入的解构赋值(Destructuring Assignment)是一种非常强大且优雅的语法,它允许你从数组或对象中提取数据,并将其赋值给变量。这极大地简化了数据提取的代码,使其更简...
面试题:ES6 中,如何提取深度嵌套的对象中的指定属性?
在 ES6 及后续版本中,提取深度嵌套对象中的属性,最常用和推荐的方法是使用 解构赋值 (Destructuring Assignment),并结合 可选链操作符 (Optional Chaining, ES2020) 来安全地处理可能为 null...
面试题:说说你对 ES6 中 rest 参数的理解?
ES6(ECMAScript 2015)引入的 Rest 参数(Rest Parameters)是一种非常实用的语法特性,它允许我们将一个不确定数量的参数表示为一个数组。它的核心思想是“收集剩余的参数”。 1. 基本语法 Re...
面试题:什么是 ES6 新增的模板语法?
ES6(ECMAScript 2015)中新增的模板语法,主要指的是模板字符串(Template Literals)。它是一种革命性的字符串定义方式,使用反引号(`)来包裹字符串,解决了传统字符串在多行文本和变量拼接...
面试题:ES6 新增了哪些字符串处理函数?
ES6(ECMAScript 2015)及后续的 ES2016、ES2017、ES2018、ES2019、ES2020、ES2021 等版本为 JavaScript 的字符串对象引入了许多实用的新方法,极大地简化了字符串的处理。以下是面试中常被问到...
面试题:JavaScript 有哪些数据类型?它们的区别是什么?
JavaScript 的数据类型可以分为两大类:原始类型(Primitive Types) 和 对象类型(Object Type)。 一、原始类型(Primitive Types) 原始类型是不可变的(immutable),存储在栈内存中。它们...
面试题:如何判断 JavaScript 变量是数组?
在 JavaScript 中,由于数组本质上是对象,使用 typeof 无法准确判断数组类型(typeof [] 返回 'object')。因此,需要使用更可靠的方法来判断一个变量是否为数组。 以下是几种常用且推荐的方法...
面试题:JavaScript 中 null 和 undefined 的区别是什么?
null 和 undefined 都表示“无”或“空值”,但在 JavaScript 中有明确的区别。理解它们的不同是掌握 JavaScript 类型系统的关键。 一、核心区别总结 特性undefinednull含义“未定义” —— 变...
