es6面试题总结

故心故心故心故心小故冲啊



ES6重要知识汇总

1.let const
2.数组对象函数解构
3.函数扩展及扩展运算符
4.字符串扩展及数值扩展
5.set map 以及for of
6.promise
7.async await
8.宏微任务

1.说说var、let、const之间的区别

let 和const 不存在变量提升
let 和const 不能重复声明
let和const 是块级作用域,而var是函数作用域
let和const存在暂时性死区,只有等到声明变量的那一行代码出现,才可以获取和使用该变量
var和let可以都可以修改声明的变量,而const不能修改,修改后就会报错
(ps:const声明的是一个只读常量,在声明时就需要赋值。(如果 const 的是一个对象,对象所包含的值是可以被修改的。抽象一点儿说,就是对象所指向的地址不能改变,而变量成员是可以修改的。))

详解

2.ES6中数组新增了哪些扩展?

1.新增了扩展运算符

2.关于构造函数,数组新增的方法有如下:
Array.from() 接受参数为:类似数组
Array.of() 接受一组值

3.数组实例对象新增的方法有如下:
copyWithin()
find()、findIndex()
fill()
entries(),keys(),values()
includes()
flat(),flatMap()

详解

3.ES6中函数新增了哪些扩展?

1.参数
ES6允许为函数的参数设置默认值

2.属性
函数的length属性 length将返回没有指定默认值的参数个数
name属性 返回该函数的函数名

3.作用域
一旦设置了参数的默认值,函数进行声明初始化时,参数会形成一个单独的作用域
等到初始化结束,这个作用域就会消失。这种语法行为,在不设置参数默认值时,是不会出现的
下面例子中,y=x会形成一个单独作用域,x没有被定义,所以指向全局变量x

4.严格模式
只要函数参数使用了默认值、解构赋值、或者扩展运算符,那么函数内部就不能显式设定为严格模式,否则会报错

5.函数扩展:

1.es6的写法相比于大大减少了代码量

2.rest参数 …变量名 用于获取函数的多余参数,只能作为最后一个参数,否则报错

3.箭头函数 ()=>{} 当参数为空时或者参数多个时需要写()

注意点:
(1)、箭头函数不能当作构造函数,不可以使用new 命令.
箭头函数中,this指向固定化,本身是没有自己的this,所以不能用作构造函数
(2)、箭头函数没有原型 对象
(3)、不可以使用arguments对象 该对象在函数体内不存在 替代 rest
(4)、this指向 由于箭头函数不绑定this,它会捕获其所在上下文的this的值,作为自己的this值
(5)、箭头函数中call() apply() bind() 对于this毫无影响

详解

4.字符串扩展

新增方法
includes(): 返回布尔值,表示是否找到了参数字符串。
startsWith(): 返回布尔值,表示参数字符串是否在原字符串的头部。
endsWith(): 返回布尔值,表示参数字符串是否在原字符串的尾部
repeat(): 返回一个新字符串,表示将原字符串重复n次。
padStart(): 用于头部补全
padEnd(): 用于尾部补全。
详细

5.数值扩展

新增方法
Number.parseInt() : 函数可解析一个字符串,并返回一个整数。
Number.isInteger()用来判断一个数值是否为整数。返回true false(JavaScript 内部,整数和浮点数采用的是同样的储存方法,所以 11 和 11.0 被视为同一个值。)
Math.ceil() 返回大于或等于一个给定数字的最小整数(上舍入)
Math.floor() 返回小于或等于一个给定数字的最大整数(下舍入)
Math.round() 返回一个数字四舍五入后最接近的整数(四舍五入)
Math.trunc() 用于去除一个数的小数部分,返回整数部分。
Math.sign() 方法用来判断一个数到底是正数、负数、还是零。对于非数值,会先将其转换为数值。(返回五种值)

//正数,返回+1
//负数,返回-1
//0  返回0
//-0 返回-0
//其它值 返回NaN

详解

6.ES6中新增的Set、Map两种数据结构怎么理解?

在这里插入图片描述
详解

7.你是怎么理解ES6中 Promise的?使用场景?

Promise,译为承诺,是异步编程的一种解决方案,比传统的解决方案(回调函数)更加合理和更加强大
详解

8.怎么理解ES6中 Generator的?使用场景?

Generator 函数是 ES6 提供的一种异步编程解决方案,语法行为与传统函数完全不同
详解

9.你是怎么理解ES6中Module的?使用场景?

CommonJs (典型代表:node.js早期)
AMD (典型代表:require.js) 异步加载模块
CMD (典型代表:sea.js) 通用加载模块
ES6模块化 import export
详细

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值