ES6面试题

本文介绍了ES6中var、let、const的区别,包括变量作用域、常量定义及提升等概念。此外,讨论了Promise的三种状态,class继承的语法,以及数组去重和方法如map和filter的工作原理。在React部分,提到了ref的用途,事件处理机制,以及父子组件通信方式,并列举了React组件生命周期中的五个关键钩子函数及其作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. Var与let与const的区别是什么?

Var声明变量

Var声明的变量可以重复声明

Var声明的变量能变量提升

函数作用域

Var声明的变量属于顶层对象window

Const用于声明常量

Const声明常量用大写

常量声明不可修改

块状作用域

Const声明的常量不可用作顶层对象

Let用于声明变量

Let声明的变量不可修改

Let声明的变量不可变量提升

Let声明的变量不可用作顶层对象

  1. Promise的三个状态是什么?

Pending    执行中

Fulfilled  完成,也就是执行了resolve()

Jected     失败,reject()执行

  1. class继承的关键词是什么?构造函数的关键词是什么?

Extends

Constructor

  1. 使用set实现数组去重

   let arr = [1,3,3,4];

   let set = new Set(arr);

   console.log(Array.from(new Set(arr)));

  1. 数组方法map的工作原理

将计算的结果放入新数组

  1. 数组方法filter的工作原理

如果返回值为真,将元素放入新数组

  1. React中的ref的作用是什么

在class中使用就是获取这个dom.

  1. 请描述React的事件原理

通过代理实现事件处理

  1. 简述React的父子组件通信

父传子:属性值

子传父:回调函数

  1. 请写出React组件运行中的5个钩子函数并解释其含义

1.初始化阶段

componentWillMount:组件即将挂载,render之前最后一次修改state的机会 常用于:state的初始化

render:只能访问props与state,不能修改state及进行dom输出

componentDidMount:成功执行完毕render并完成dom节点的渲染,可以对dom修改

  1. 运行中阶段

componentWillReceiveProps(nextProps):父组件修改属性触发

should Component Update(next Props,nextState):返回false,会阻止render的调用参数是被修改之后新的属性及状态

componentWillUpdate:组件将要更新,不能修改属性及状态

Render

componentDidUpdate(preProps,preState)可以修改dom  参数是被修改之后新的属性及状态

  1. 销毁阶段
  2. componentWillUnmount在删除组件前进行清理工作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值