ECMAScript6面试题

1.请描述letconst以及var的区别?以及什么是暂时性死区?什么是变量提升?

区别:

let 具有块级作用 不能重复声明 可以重复赋值
const 具有块级作用域 不能重复声明 不能重复赋值
var 全局作用域 可以重复声明 可以重复赋值

暂时性死区:

我个人理解,所谓的暂时性死区就是在会计作用域内使用 let 声明了变量,那么这个变量就不
会受外部的影响,这个我把它理解为暂时性死区。

变量提升:

个人理解,所谓的变量提升就是为了先事先声明变量,然后在进行赋值

2.请说一下你对es6的模版字符串的理解?有什么特点?

个人理解,所谓的模版字符串其实指的是我们拼接字符串的时候,是通过连接符 ”+” 来接的,并且
如果换行等需要使用转义字符,否则就会报错。这样让我们书写十分不便。所以, ES6 中就引入了
模板字符串,帮助我们解决这一问题,并且,在模版字符串内使用 ${} 包裹变量,就是将声明的变
量进行解析
使用方式为 反单引号 可以直接插入变量 可以进行换行们不需要使用转义符号进行换行

3.请说一下箭头函数与普通函数的区别?

普通函数是很早就提出的,而箭头函数是 es6 提出的,他们两个在语法上不一样,并在普通函数与
箭头函数他们 this 的指向也不要一样,普通函数内的 this 指向是如果没有绑定事件元素的时候, this
指向的 window ,或者在闭包中 this 指向的也是 window ,如果函数绑定了事件,但并没有产生闭
包,这个 this 指向的是当前调用的事件对象,箭头函数内 this 的指向是父作用域 .箭头函数不能使用arguments ,普通函数可以使用, arguments 是以集合的方式获取函数传递的参 数
箭头函数不能实例化为构造函数,而普通函数可以进行实例化

4.请说一下什么是函数的默认参数?

所谓的函数的默认参数其实指的就是当没有给函数参数进行传参的时候,可以给函数的形参制定默 认值

5,请说一下Object.assign()的有什么作用 ?

Object.assign() 方法主要是用于将源对象复制到目标对象, Object.assign() 方法有两个参数,第一 个参数的表示目标对象,第二个参数表示源对象。
在项目一般使用 object.assign() 用来对对象进行合并

6.请说一下你对promise的理解?并说一下promise你是如何使用的?

我个人对 promise 的理解是, promise 是异步编程的一种解决方案,他比传统的回调函数加事件更
加合理和强大,目前我用
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值