ES6系列40道基础题(含答案)(一)

1.下面不属于ECMAScript规范的范围的是:( )
A.数据类型
B.语法
C.DOM事件
D.内置对象和函数的标准库
答案:C
解析:DOM事件不属于ECMAScript的部分;ECMAScript定义的内容:语法、类型、原型和继承、内置对象和函数的标准库。
考点: ECMAScript定义规范的理解,来自《第一节:什么是ES6?新手该如何理解》的内容。

2.下面不属于关键字let的特点的是:( )
A.只在 let 命令所在的代码块内有效
B.会产生变量提升现象
C.同一个作用域,不能重复声明同一个变量
D.不能在函数内部重新声明参数
答案:B
解析:使用var关键字才会产生变量提升的现象。关键字let不会产生变量提升现象,所以必须先声明定义后使用,否则程序抛出异常。
考点:关键字let的使用注意事项,来自《第二节:ES6新增了let关键字,干嘛用的?》的内容。

3.关于关键字const,下列说法错误的是:()
A.用于声明常量,声明后不可修改
B.不会发生变量提升现象
C.不能重复声明同一个变量
D.可以先声明,不赋值。
答案:D
解析:声明后必须赋值,负责程序会抛出异常。
考点:关键字const的使用注意事项,来自 《第三节:ES6中另一个不得不说的关键字const》的内容。

4.在数组的解构赋值中,var [ a,b,c ] = [ 1,2 ]结果中,a、b、c的值分别是:()
A、1 2 null
B、1 2 undefined
C、1 2 2
D、抛出异常
答案:B
解析:在解构赋值过程中,赋值不成功,变量的值会变成undefined,不会抛出异常。
考点:数组的结构赋值使用注意事项。来自 《第五节:一个令人兴奋的ES6新特性:解构赋值》的内容。

5.在对象的解构赋值中,var {a,b,c} = { “c”:10, ”b”:9, ”a”:8 } 结果中,a、b、c的值分别是:()
A、10 9 8
B、8 9 10
C、undefined 9 undefined
D、null 9 null
答案:B
解析:对象的解构赋值不会受到属性的排列次序影响。
考点:对象解构赋值和数组解构赋值的区别。来自 《第五节:一个令人兴奋的ES6新特性:解构赋值》的内容。

6.关于模板字符串,下列说法不正确的是:()
A.使用反引号标识
B.插入变量的时候使用${ }
C.所有的空格和缩进都会被保留在输出中
D. 中 的 表 达 式 不 能 是 函 数 的 调 用 答 案 : D 解 析 : { }中的表达式不能是函数的调用 答案:D 解析: D{ }中可以放任意的JavaScript表达式,包括运算表达式、对象属性、函数调用等。
考点:模板字符串的特点。来自《第六节:ES6为字符串String带来哪些好玩的特性?》的内容。

7.关于字符串扩展的新函数,下面描述错误的是:()
A.includes函数用于判断字符串中是否含有指定的子字符串
B.repeat函数将目标字符串重复N次,目标字符串被修改
C.startsWidth函数判断指定的子字符串是否出现在目标字符串头部位置
D.endWidth函数判断指定的子字符串是否出现在目标字符串尾部位置
答案:B
解析:repeat函数将目标字符串重复N次,会返回一个新的字符串,不影响目标字符串。
考点:String字符串的新特性repeat函数的使用。来自《第六节:ES6为字符串String带来哪些好玩的特性?》的内容。

8.关于数值的扩展,window.isNaN(“abc”) 和Number.isNaN(“abc”)的结果分别是:()
A.true false
B.false true
C.true true
D.false false
答案:A
解析:window.isNaN函数会把非数值的参数转化成数值再进行判断,而Number. isNaN只对数值类型有效,非数值类型的参数一律返回false。
考点:isNaN函数从全局函数移植到Number对象后的区别。来自《第七节:ES6为数值做了哪些扩展?》的内容。

9.关于数值扩展的Number.isInteger函数,下面说法错误的是:()
A.用来判断是否是整数,返回布尔值。
B.Number.isInteger(3);结果为:true
C.Number.isInteger(3.0);结果为:false
D.Number.isInteger(3.01);结果为:false
答案:C
解析:在JavaScript内部对整数和浮点数采用一样的存储方式,因此小数点后如果都是0的浮点数,都会被认为是整数。
考点:Number.isInteger函数使用的注意事项。来自《第七节:ES6为数值做了哪些扩展?》的内容。

10.数组扩展的fill( )函数,[1,2,3].fill(4)的结果是:()
A.[4]
B.[1,2,3,4]
C.[4,1,2,3]
D.[4,4,4]
答案:D
解析:fill函数的参数会把原数组的每个元素填充成指定的参数。
考点:对fill( )函数的了解和使用。来自《第八节:ES6为数组做了哪些扩展?》的内容。

11.数组的扩展中,不属于用于数组遍历的函数的是:()
A.keys( )
B.entries( )
C.values( )
D.find( )
答案:D
解析:find函数用于找出数组中符合条件的第一个元素,并不是用于遍历数组。
考点:利用数组的新特性来实现数组的遍历。来自《第八节:ES6为数组做了哪些扩展?》的内容。

12.关于对象的扩展,错误的是:()
A.ES6中对象的表示法更加简洁
B.对象的属性名可以是表达式
C.对象的方法名不可以是表达式
D.当属性名为表达式的时候,需要使用[ ]标识
答案:C
解析:对象的方法名同样可以是表达式,使用[ ]标识。
考点:对象的新特性的使用注意事项。来自《第九节:ES6为对象做了哪些扩展?》的内容。

13.关于对象的Object.is函数,错误的是:()
A.用于判断两个值是否严格相等
B.用于判断两个值是否抽象相等
C.Object.is(3,‘3’) 结果是:false
D.Object.is(3,3.0) 结果是:true
答案:B
解析:Object.is函数判断两个值是否严格相等,或者说全等,作用等同于全等符号:===
考点:Object.is函数的了解和使用注意事项。来自《第九节:ES6为对象做了哪些扩展?》的内容。

14.函数的扩展中,关于rest参数的描述,正确的是:()
A.获取函数剩下部分的参数
B.rest参数不可以是函数的最后一个参数
C.获取函数的第一个参数
D.一个名叫rest的参数
答案:A
解析:rest参数用于表示且必须是函数的最后一个函数,后面不可以再跟其他参数,故B选项是错的。它的表示法表示法使用…(三个点)+ 自定义的参数名,故D选项是错的
考点:rest参数的理解和使用。来自《第十节:ES6为函数做了哪些扩展?》的内容。

15.关于箭头函数的描述,错误的是:()
A.使用箭头符号=>定义
B.参数超过1个的话,需要用小括号()括起来
C.函数体语句超过1条的时候,需要用大括号{ }括起来,用return语句返回
D.函数体内的 this 对象,绑定使用时所在的对象
答案:D
解析:函数体内的 this 对象,绑定定义时所在的对象,而不是使用时所在的对象。这点很重要,连载第十节的时候还特意加了一节讲这个内容。
考点:箭头函数的使用注意事项。来自《第十节(补课):函数的扩展 — 箭头函数的this使用》的内容。

16.关于Symbol,错误的说法是:()
A.是ES6新增的一种数据类型
B.Symbol() === Symbol() 结果为false
C.Symbol(‘same’) === Symbol(‘same’) 结果为true
D.当symbol值作为对象的属性名的时候,不能用点运算符获取对应的值。
答案:C
解析:symbol是独一无二的值,虽然它们的描述都是“‘same’”,但是对应的值还是不一样的,所以结果为:false。
解析:关于Symbol的使用注意事项,来自《第十一节:JavaScript有了一种全新的数据类型:Symbol》的内容。

17.下面运算结果,结果为true的是:()
A.Symbol.for(‘name’) == Symbol.for(‘name’)
B.Symbol(‘name’) == Symbol.for(‘name’)
C.Symbol(‘name’) == Symbol(‘name’)
D.Symbol.for(‘name’) == Symbol(‘name’)
答案:A
解析:Symbol.for函数会根据参数名,去全局环境中搜索是否有以该参数为名的symbol值,有就返回它,没有就以该参数名来创建一个新的symbol值,并登记在全局环境中,而Symbol每次都会创建一个独一无二的值,不会登记在全局环境中。
解析:Symbol和Symbol.for创建变量的区别,来自《第十一节:JavaScript有了一种全新的数据类型:Symbol》的内容。

18.关于Proxy代理,下面说法错误的是:()
A.可以理解成在目标对象之前,架设一层“拦截”
B.Proxy的get 方法用于拦截某个属性的读取操作。
C.Proxy的set方法用于拦截对对象的写操作。
D.一旦对象设置Proxy代理后不可取消,所以要谨慎操作
答案:D
解析:可以用Proxy.revocable( )来取消代理,并不是不可以取消的。
考点:Proxy代理的设置和取消代理,来自《第十二节:ES6 Proxy代理 和 去银行存款有什么关系?》的内容。

19.关于for…of的简述,说法错误的是:()
A.它可以遍历所有具有iterator 接口的数据结构
B.不可以用break来终止循环
C.使用continue可以跳过当前循环
D.可以遍历DOM list对象
答案:B
解析:for…of可以用break来终止循环,而传统的forEach则不可以用break终止循环,这正是for…of相对forEach的优势
考点:for…of遍历相对于传统便利方式的优势,来自《第十三节:易学又实用的新特性:for…of》的内容。

20.关于set结构,下面说法错误的是:()
A.创建一个实例需要用new关键字
B.结构成员都是唯一的,不允许重复
C.使用add方法添加已经存在的成员会报错
D.初始化的时候接受数组作为参数
答案:C
解析:使用add方法添加已经存在的成员,会自动忽略相同的值,相同的值保留一个。
考点:set结构的特点,来自《第十六节:ES6新增的 Set 和 WeakSet 是什么东西?》的内容。

  • 5
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
React基础面试通常包括以下几个方面: 1. React中函数组件和类组件的区别是什么? 函数组件是一个简单的JavaScript函数,接受props作为参数并返回一个React元素。它通常用于展示静态内容或处理简单的交互逻辑。类组件是通过ES6的class语法创建的,继承自React.Component,可以使用state来管理内部状态以及使用生命周期方法,适用于复杂的逻辑和状态管理。 2. 在React中,keys的作用是什么? 键(keys)是React中用于识别和跟踪组件列表中每个元素的特殊属性。它们帮助React准确地更新和重排组件,提高性能。在遍历生成列表的时候,为每个元素添加唯一的键,可以帮助React更好地识别元素的变化,避免不必要的重新渲染。 以上回答参考了引用和引用中的内容。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [2022必备react面试 附答案](https://blog.csdn.net/It_kc/article/details/121773566)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [【前端面试】—30常见React基础面试(附答案)](https://blog.csdn.net/snsHL9db69ccu1aIKl9r/article/details/115339484)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [面试-基础.doc](https://download.csdn.net/download/Sheng_zhenzhen/12576734)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值