es6基础

25:什么是数组解构赋值?写出基础语法示例。对象解构赋值如何设置默认值?核心作用是什么?1:快速把数组里面的元素依次拿出来赋值给变量不用挨个下标去取。基础语法2:const user = { name: "小明" }; const { name, age = 20 } = user; console.log(age); // 203:简化代码:不用重复写 .属性 / 下标 获取数据

快速提取数组、对象里面的值

26:ES6 扩展运算符... 的作用是什么?如何用扩展运算符合并两个数组、复制一个对象?

把数组 / 对象里面的东西,"摊开、拿出来"合并数组const arr1 = 1,2; const arr2 = 3,4; const newArr = ...arr1, ...arr2; console.log(newArr); // 1,2,3,4复制数组const obj = { name:'张三', age:18 }; const newObj = { ...obj }; console.log(newObj);

27.箭头函数的简写规则有哪些?箭头函数和普通函数最大的两点核心区别是什么

简写规则

1.只有一个形参:小括号 () 可以省略

2:函数体只有一句 return 返回表达式:大括号{}和return可以一起省略3:无参数 或者 多个参数:小括号不能省

箭头函数 和普通函数最大两点核心区别箭头函数简写方便;无自身 this,无 arguments。

28:Symbol是什么类型?核心特性是什么?Symbol的主要应用场景有哪些?

1:Symbol 是 ES6 新增的原始(基本)数据类型,用来生成独一无二的值。

2:每调用一次 Symbol(),得到的值永远唯一,不能用 new Symbol(),它不是构造函数,不能参与隐式类型转换,不能直接转数字;可以转字符串,

3:对象私有属性(模拟私有),定义常量,防止对象属性名冲突29:Set的核心特点是什么?如何实现数组去重?Set常用的4个核心方法是什

么?各自作用?

1:成员唯一,不允许重复值,无序集合,没有下标索引,可迭代对象,可以用 for...of 遍历2:const arr = 1,2,2,3,3,3,NaN,NaN; // Set转数组 const newArr = ...new Set(arr) // 或者 Array.from(new Set(arr))console.log(newArr)// 1,2,3,NaN3:add(value) 作用:向集合添加一个元素,返回 Set 本身(支持链式调用)delete(value) 作用:删除指定元素,返回布尔值(true 删除成功,false 不存在)

has(value) 作用:判断集合是否存在该元素,返回布尔值

clear() 作用:清空集合所有成员,无返回值30:Map和普通对象的核心区别是什么?Map常用取值、存值方法是什么?如何

遍历 Map?

1:键 (key) 类型不同 对象:键只能是字符串 / Symbol,写数字会自动转字符串; Map:键可以是任意类型(数字、对象、数组、函数、NaN 等)。

2.键名是否重复 对象:同名键会覆盖; Map:键唯一,重复set会覆盖旧值。

3.顺序 对象:ES6 后属性有一定顺序,但不保证; Map:严格保留插入顺序。

4.获取长度 对象:需要Object.keys(obj).length; Map:直接用 map.size 属性。

5.可迭代性 对象不能直接 for...of; Map 本身是可迭代对象,可直接遍历。

6.原型 对象自带原型链,有默认属性;Map 无原型自带属性。

2:map.set(key, value):存值,添加 / 修改键值对,返回 Map 本身,支持链式

const m = new Map()

set('name','张三')

set(100, '分数'3:Map 的遍历方式(4 种常用)

for...of 直接遍历,拿到 key,valuemap.keys():遍历所有键map.values():遍历所有值map.entries():遍历键值对(和直接 for...of 等价)

31:简述find()和findindex()的作用与区别?includes()相比indexof的优势是什么

  1. find()
    作用:查找数组第一个满足条件的元素,返回【元素本身】;找不到返回 undefined2. findIndex()
    作用:查找数组第一个满足条件的元素,返回【下标索引】;找不到返回 -1
  2. includes () 对比 indexOf () 的优势
    indexOf (值)
    返回下标,找不到返回 -1;无法识别数组中的 NaN
    includes (值)
    返回布尔值 true/false;可以识别 NaN
    32:.flat() 方法的作用是什么?默认参数和 Infinity 参数的区别?flatmap 的执行逻辑是什么?使用场景
    一、Array.prototype.flat ()
    扁平化数组,把多维数组降维,返回新数组,不修改原数组;会自动移除数组中的空项(empty slot)。2:默认:depth = 1,只展开第一层嵌套数组,更深的数组保留原样
    Infinity:无限层级,无论嵌套多少层,全部摊平为一维数组3:arr.flatMap(callback) = 先 map,再自动 flat (1)4:一对多转换:一个元素映射成多个元素转换 + 过滤一体:返回空数组 \[\] 代表舍弃当前项替代 map().flat(1):只遍历一次数组,性能优于连续调用 map + flat
    33:ES6如何给函数参数设置默认值?写出示例。函数默认参数的优先级和变量 提升规则是什么?
    1:2:实参 > 默认参数 传了实参(且不是undefined),就用传入的值;不传 / 传undefined,才启用默认值。
    参数的作用域:参数形成独立的作用域(参数作用域)重点:参数默认值,是在函数调用时才求值,不是函数定义时。
    形参之间可以相互引用(前面的参数,后面可以直接用)
    3:函数参数默认值开启了参数作用域 当函数设置了参数默认值时:
    参数会形成一个独立的参数作用域,在函数体作用域外面;
    函数体内部的 let / const 声明的变量,不会提升覆盖参数,同名会形成暂时性死区。
    34:剩余参数.args的作用是什么?和 arguments的区别?剩余参数在参数
    列表中的位置要求是什么?
    1:作用收集函数剩余的实参,放到一个真实数组中。2:类型
    ...args:真实数组,直接使用数组 API
    arguments:类数组对象,不是数组;要用 Array.from(arguments) 转数组
    ES 版本
    剩余参数:ES6 新增
    arguments:ES5 就有,旧语法
    箭头函数
    剩余参数:✅ 箭头函数可以使用
    arguments:❌ 箭头函数没有 arguments 对象,访问 arguments 会去外层作用域找
    收集范围
    ...args:只收集剩余没被形参接收的参数,可控
    arguments:收集全部实参
    3:必须放在形参列表的最后一位,后面不能再有其他形参!
    35:ES6模块化默认导出和分别导出的语法区别? import导入的三种常用方式 是什么?
    1:2:方式 1:导入默认导出方式 2:导入命名导出(分别导出)
    方式 3:命名空间导入(全部导入,打包成一个对象)
    36:ES6 class 声明类的基础语法是什么?constructor 的作用?ES6如何实现 类的继承?super关键字的作用?
    1:
  3. constructor 的作用
    constructor 是类的构造方法:
    1.使用 new 创建实例时,自动调用 constructor
    2.用来初始化实例属性,给 this 挂载属性
    3.一个类只能有一个 constructor,多写会报错
    4.如果不写,class 会自动添加一个空的 constructor(){}
    3:4:子类 constructor 中 super()
    调用父类的构造函数
    子类构造函数里,必须在访问 this 之前调用 super (),否则报错
    作用:把父类实例属性挂载到子类实例上
    场景 2:子类方法中 super.方法名()
    调用父类原型上的方法
相关推荐
熊猫钓鱼>_>1 小时前
从2D平铺到3D沉浸:我用HarmonyOS 7端侧AI做了一个全程数据不出设备的空间化私密相册
前端·人工智能·3d·华为·华为云·harmonyos·鸿蒙
孔令飞2 小时前
Go中指针引用Go中指针引用Go中指针引用Go中指针引用Go中指针引用Go中指针引用Go中指针引用Go中指针引用Go中指针引用Go中指针引用Go中指针引用Go中
前端
可乐鸡翅yeah_2 小时前
hls.js 缓冲区参数 maxBufferLength、maxBufferSize 通俗讲解与业务调参
开发语言·javascript·ios·音视频·safari·m3u8
溪语流沙2 小时前
【Web全栈进阶】PostgreSQL上手:Docker跑库 + 把早报站从SQLite迁过去
前端·docker·postgresql
IT_陈寒2 小时前
SpringBoot自动配置的坑:你以为的捷径可能是弯路
前端·人工智能·后端
paopaokaka_luck2 小时前
高校社团管理(AI辅助任务分配、协同过滤算法推荐、ECharts数据可视化、活动参与闭环、校园交流与反馈、器材借还管理)
java·前端·javascript·spring boot·数据分析·echarts
500843 小时前
React Native for OpenHarmony 实战:三方库 react-native-volume-control 的鸿蒙化适配指南
javascript·react native·react.js·electron·harmonyos
薛一半3 小时前
React-Redux三重优化实战揭秘
javascript·vue.js·react.js
Dovis(誓平步青云)3 小时前
导览音频切换太快,旧讲解不能覆盖新展品
android·前端·javascript·ecmascript·音视频·宠物