2024年精简ES6知识点,程序员面试宝典

最后

其实前端开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。

这里再分享一个复习的路线:(以下体系的复习资料是我从各路大佬收集整理好的)

《前端开发四大模块核心知识笔记》

最后,说个题外话,我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在IT学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。

}

var g = myGenerator();

g.next(); // { value: ‘hello’, done: false }

class A{

constructor(name){

this.name = name;

}

ace(){

return ${this.name}第一名

}

}

class B extends A{

constructor(name, age){

super(name);

this.age = age;

}

ace(){

return ${super.ace()},今年${this.age}

}

}

const user = new B(‘he’, 20);

console.log(user.ace()) // he第一名,今年20

console.log(user instanceof A) // true

console.log(user instanceof B) // true

  • Modules:import * from url

const s = new Set();

s.add(‘hello’).add(‘world’);

console.log(s.size === 2); //true

console.log(s.has(‘hello’)) // true

const ws = new WeakSet();

ws.add({data: 42});

console.log(ws)

const m = new Map();

m.set(‘hello’, 10);

m.set(s, 10);

console.log(m.get(‘hello’)) // 10

console.log(m.get(s)) // 10

const wm = new WeakMap();

wm.set(s, {ece: 10});

console.log(wm.get(s)) // {ece: 10}

  • Symbol:值类型,唯一性const s = Symbol('symbol')

function gettime(url){

return new Promise((resolve, reject)=>{

if(!url){

resolve()

}else{

reject()

}

})

}

var p = gettime();

p.then((res)=>{

console.log(res)

}).catch((err)=>{

console.log(err)

})

async function test1(){

return 111;

}

async function test2(){

const res = await test1();

console.log(res);

}

test2();

const target = {};

const handler = {

get(receiver, name){

return hello ${name};

}

};

const p = new Proxy(target, handler)

console.log(p.world === ‘hello world’) // true

回到顶部 目录

新增加的方法:

  • String:
  1. String.fromCodePoint():可以识别大于0xFFFF的字符

  2. String.raw():模板字符处理转义字符

  3. String.prototype.codePointAt():32 位的 UTF-16 字符的码点

  4. String.prototype.normalize():用来将字符的不同表示方法统一为同样的形式

  5. String.prototype.includes():是否找到了参数字符串

  6. String.prototype.startsWith():参数字符串是否在原字符串的头部

  7. String.prototype.endsWith():参数字符串是否在原字符串的尾部

  8. String.prototype.repeat():将原字符串重复n次

  9. String.prototype.padStart():字符串补全长度的功能头部补全(ES2017)

  10. String.prototype.padEnd():字符串补全长度的功能尾部补全(ES2017)

  11. String.prototype.trimStart():消除字符串头部的空格(ES2019)

  12. String.prototype.trimEnd():消除尾部的空格(ES2019)

  13. String.prototype.matchAll():返回一个正则表达式在当前字符串的所有匹配

  14. String.prototype.match 调用 RegExp.prototype[Symbol.match]

  15. String.prototype.replace 调用 RegExp.prototype[Symbol.replace]

  16. String.prototype.search 调用 RegExp.prototype[Symbol.search]

  17. String.prototype.split 调用 RegExp.prototype[Symbol.split]

  • Number:
  1. Number.isFinite():判断是否为有限(即不是Infinity)

  2. Number.isNaN():是否为NaN

  3. Number.parseInt():全局变量改为Number对象

  4. Number.parseFloat():全局变量改为Number对象

  5. Number.isInteger():判断一个数值是否为整数

  6. Number.EPSILON:极小的常量表示1 与大于 1 的最小浮点数之间的差

  7. Number.MAX_SAFE_INTEGER:上限

  8. Number.MIN_SAFE_INTEGER:下限

  9. Number.isSafeInteger():判断是否在上下限之间

  • Math:
  1. Math.trunc():去除一个数的小数部分,返回整数部分(向下取值)

  2. Math.sign():判断一个数到底是正数、负数、还是零(+1、-1、0、-0、NaN)

  3. Math.cbrt():计算一个数的立方根

  4. Math.clz32():将参数转为 32 位无符号整数的形式,然后返回这个 32 位值

  5. Math.imul():返回两个数以 32 位带符号整数形式相乘的结果,返回的也是一个 32 位的带符号整数

  6. Math.fround():返回一个数的32位单精度浮点数形式

  7. Math.hypot():返回所有参数的平方和的平方根

  8. Math.expm1():Math.exp(x) - 1

  9. Math.log1p():Math.log(1 + x)

  10. Math.log10():以 10 为底的x的对数

  11. Math.log2():返回以 2 为底的x的对数

  12. Math.sinh(x):返回x的双曲正弦

  13. Math.cosh(x):返回x的双曲余弦

  14. Math.tanh(x):返回x的双曲正切

  15. Math.asinh(x):返回x的反双曲正弦

  16. Math.acosh(x):返回x的反双曲余弦

  17. Math.atanh(x):返回x的反双曲正切

  • Array:
  1. Array.from():类数组转换为数组

  2. Array.of():将一组值,转换为数组

  3. Array.prototype.copyWithin():在当前数组内部,将指定位置的成员复制到其他位置(会覆盖原有成员),然后返回当前数组

  4. Array.prototype.find():找出第一个符合条件的数组成员

  5. Array.prototype.findIndex():返回第一个符合条件的数组成员的位置

  6. Array.prototype.fill():填充一个数组

  7. Array.prototype.eys():是对键名的遍历

  8. Array.prototype.values():是对键值的遍历

  9. Array.prototype.entries():是对键值对的遍历

  10. Array.prototype.includes():某个数组是否包含给定的值

  11. Array.prototype.flat():将嵌套的数组“拉平”,变成一维的数组

  12. Array.prototype.flatMap():对原数组的每个成员执行一个函数

  • Object:
  1. Object.is():判断两个值是否相等(比===还有严格)

  2. Object.assign(target, source…):用于对象的合并,将源对象(source)的所有可枚举属性,复制到目标对象(target)

  3. Object.getOwnPropertyDescriptors():返回指定对象所有自身属性(非继承属性)的描述对象(ES2017)

  4. Object.setPrototypeOf():作用与__proto__相同,用来设置一个对象的prototype对象,返回参数对象本身

  5. Object.getPrototypeOf():用于读取一个对象的原型对象

  6. Object.values():返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历(enumerable)属性的键值

  7. Object.entries():返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历(enumerable)属性的键值对数组

  8. Object.fromEntries():是Object.entries()的逆操作,用于将一个键值对数组转为对象

推荐网站:


ESMAScript编码规范

MDN

菜鸟教程ES6

阮一峰:ES6入门教程

JavaScript中文网

前端开发博客

我的博客–ES6

回到顶部 目录

学习分享,共勉

题外话,毕竟我工作多年,深知技术改革和创新的方向,Flutter作为跨平台开发技术、Flutter以其美观、快速、高效、开放等优势迅速俘获人心

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

鸟教程ES6]( )

阮一峰:ES6入门教程

JavaScript中文网

前端开发博客

我的博客–ES6

回到顶部 目录

学习分享,共勉

题外话,毕竟我工作多年,深知技术改革和创新的方向,Flutter作为跨平台开发技术、Flutter以其美观、快速、高效、开放等优势迅速俘获人心

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

[外链图片转存中…(img-eo8bXhlV-1715765117414)]

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值