ES6面试题:(第一天)

目录

1.var,let,const的区别

2.说说你对数组的解构和对象的解构的理解?

3.ES6的新语法

4.Map对象和Set对象的区别

5.Set实现数组去重


1.var,let,const的区别

  • 使用 var 声明的变量,其作用域为全局作用域或者为所在的函数内局部作用域,且存在变量提升现象
  • 使用 let 声明的变量,其作用域为该语句所在的代码块内{},不存在变量提升
  • 使用 const 声明的是常量,在后面出现的代码中不能再修改该常量的值

2.说说你对数组的解构和对象的解构的理解?

ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构

具体自己举例说明

3.ES6的新语法

  1. let和const

2.解构赋值,数组和对象的解构

3.剩余及扩展运算符...

4.Symbol基本数据类型

5.Map和Set对象

6.proxy代理和reflect映射

  1. 模板字符串

  2. 箭头函数

9.迭代器iterator

10.Promise async await

11.ES6模块化-export-import

4.Map对象和Set对象的区别

1.Map是键值对,当然键和值可以是任何的值;Set是值的集合,

2.Map可以通过get方法获取值,而Set不能因为它只有值;

3.Map由于没有格式限制,可以做数据存储,Set的值是唯一的可以做数组去重,

5.Set实现数组去重

第一种数组去重方法(使用Array.from):

let arr = [12,43,23,43,68,12];

let item = new Set(arr);

console.log(item);//结果输出的是一个对象

//使用Array.from转成数组

let arr = [12,43,23,43,68,12];

let item = Array.from(new Set(arr));

console.log(item);// [12, 43, 23, 68]

第二种数组去重方法(使用...扩展运算符):

let arr = [12,43,23,43,68,12];

let item = [...new Set(arr)];

console.log(item);//[12, 43, 23, 68]

相关推荐
前端小L几秒前
双指针专题(五):灵活的起跳——「无重复字符的最长子串」
javascript·算法·双指针与滑动窗口
未来之窗软件服务5 分钟前
幽冥大陆(八十八 ) 操作系统应用封装技术C#自解压 —东方仙盟练气期
java·前端·c#·软件打包·仙盟创梦ide·东方仙盟·阿雪技术观
靓仔建8 分钟前
在Electron用npm install 失败。
javascript·electron·npm
沛沛rh451 小时前
React 学习笔记:State、hook —— 组件的记忆
前端·javascript·react.js
前端小L9 小时前
双指针专题(三):去重的艺术——「三数之和」
javascript·算法·双指针与滑动窗口
0和1的舞者9 小时前
Spring AOP详解(一)
java·开发语言·前端·spring·aop·面向切面
web小白成长日记9 小时前
在Vue样式中使用JavaScript 变量(CSS 变量注入)
前端·javascript·css·vue.js
QT 小鲜肉9 小时前
【Linux命令大全】001.文件管理之which命令(实操篇)
linux·运维·服务器·前端·chrome·笔记
C_心欲无痕9 小时前
react - useImperativeHandle让子组件“暴露方法”给父组件调用
前端·javascript·react.js
霖鸣10 小时前
Minecraft通过kubejs进行简单魔改
javascript