ES6面试22个问题,你是不是都ok?,2024历年网易跳动前端面试真题解析

07、问:举一些ES6对Number数字类型做的常用升级优化?

答:

1、优化部分:

ES6在Number原型上新增了isFinite(), isNaN()方法,用来取代传统的全局isFinite(), isNaN()方法检测数值是否有限、是否是NaN。ES5的isFinite(), isNaN()方法都会先将非数值类型的参数转化为Number类型再做判断,这其实是不合理的,最造成isNaN('NaN') === true的奇怪行为–'NaN’是一个字符串,但是isNaN却说这就是NaN。而Number.isFinite()和Number.isNaN()则不会有此类问题(Number.isNaN('NaN') === false)。(isFinite()同上)

2、升级部分:

ES6在Math对象上新增了Math.cbrt(),trunc(),hypot()等等较多的科学计数法运算方法,可以更加全面的进行立方根、求和立方根等等科学计算。

08、问:举一些ES6对Object类型做的常用升级优化?****(重要)

答:

1、优化部分:

a. 对象属性变量式声明。ES6可以直接以变量形式声明对象属性或者方法,。比传统的键值对形式声明更加简洁,更加方便,语义更加清晰。

let [apple, orange] = [‘red appe’, ‘yellow orange’];

let myFruits = {apple, orange}; // let myFruits = {apple: ‘red appe’, orange: ‘yellow orange’};

尤其在对象解构赋值(见优化部分b.)或者模块输出变量时,这种写法的好处体现的最为明显:

let {keys, values, entries} = Object;

let MyOwnMethods = {keys, values, entries}; // let MyOwnMethods = {keys: keys, values: values, entries: entries}

可以看到属性变量式声明属性看起来更加简洁明了。方法也可以采用简洁写法:

let es5Fun = {

method: function(){}

};

let es6Fun = {

method(){}

}

b. 对象的解构赋值。ES6对象也可以像数组解构赋值那样,进行变量的解构赋值:

let {apple, orange} = {apple: ‘red appe’, orange: ‘yellow orange’};

c. 对象的扩展运算符(…)。ES6对象的扩展运算符和数组扩展运算符用法本质上差别不大,毕竟数组也就是特殊的对象。对象的扩展运算符一个最常用也最好用的用处就在于可以轻松的取出一个目标对象内部全部或者部分的可遍历属性,从而进行对象的合并和分解

let {apple, orange, …otherFruits} = {apple: ‘red apple’, orange: ‘yellow orange’, grape: ‘purple grape’, peach: ‘sweet peach’};

// otherFruits {grape: ‘purple grape’, peach: ‘sweet peach’}

// 注意: 对象的扩展运算符用在解构赋值时,扩展运算符只能用在最有一个参数(otherFruits后面不能再跟其他参数)

let moreFruits = {watermelon: ‘nice watermelon’};

let allFruits = {apple, orange, …otherFruits, …moreFruits};

d. super 关键字。ES6在Class类里新增了类似this的关键字super。同this总是指向当前函数所在

  • 28
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值