【前端面试题】ES6基础知识(一)

一、ES6是什么,为什么要学习它?

ES6 的全称是 ECMAScript , 它是由 ECMA 国际标准化组织,制定的一项脚本语言的标准化规范,ES6 既是一个历史名词,也是一个泛指,含义是 5.1 版以后的 JavaScript 的下一代标准,涵盖了 ES2015、ES2016、ES2017 等等,而 ES2015 则是正式名称,特指该年发布的正式版本的语言标准。
ES6的诞生都意味着语言的完善,功能的加强。JS存在语言本身也有一些令人不满意的地方,JS语法过于松散,实现相同的功能,不同的人可能会写出不同的代码。

二、变量声明

1. let 命令

用于声明变量,用法与 var 类似;但禁止重复声明,let 不允许在相同作用域内,重复声明同一个变量。不存在变量提升(使用前,先声明); 暂时性死区,只要块级作用域内存在 let 命令,它所声明的变量就“绑定”(binding)这个区域,不再受外部的影响。与 var 的不同在于,用 let 声明的变量只在 let 命令所在的代码块 { }内有效。

2.const 命令

 定义一个只读的常量。常量的值不能改变(声明时进行初始化);禁止重复声明;不存在变量提升(养成良好习惯,先定义,后使用); 暂时性死区;变量不可修改,基本类型的话,值不可修改。引用类型的话,引用不可修改,引用的对象的属性可以修改; 声明后必须立刻赋值,否则会报错。
使用 let、const 创建一个新的全局变量,不会在全局对象上创建属性。

3.let,var,const三者的区别

let是声明变量是块级作用域,只存在自身变量的块作用域内,不可以变量提升,有暂时性死区,先定义后使用。
var是声明的变量,其作用域为该语句所在的函数内,可以变量提升。
const声明的是常量,在后面出现的代码中不能再修改该常量的值,先定义后使用。
let,const的声明的变量不属性顶层对象,返回undefined。

三、基本常识

1.for...in和for...of有什么区别?

for...in遍历数组的索引。
for...of遍历数组元素。

2.箭头函数的this和普通函数的this的区别?

普通函数与调用者有关,箭头函数跟上下文有关。
let fn = function () {
      return 123;
    };
    let fn = () => 123;

3.Array的扩展方法map和filter相同点与区别?

map和filter不会对空数组进行检测,不会改变原始数组。
map方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
filter创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。
全部评论
感谢分享,希望面试能用到
点赞 回复 分享
发布于 2022-08-24 20:07 陕西

相关推荐

牛客717484937号:双飞硕没实习挺要命的
点赞 评论 收藏
分享
4 7 评论
分享
牛客网
牛客企业服务