笔者在2021年末到2022年初面了阿里、百度、字节跳动、微软、拼多多、B站等大厂,本身来说是3-5年经验这个范围。可以看到各大厂对前端的基础知识还是非常重视的,因此想对在这些面试中经常会被问到的题目进行总结,这一篇主要是基础题,希望能够帮助各位一起在前端道路上奋斗的小伙伴获得心仪的offer。
关于性能、前端新趋势、项目的在下篇
js相关(ts)
- 箭头函数
- 不可用于构造函数,无prototype
- 无法改变this指向
- 原型链
- 每个对象的
__proto__
指向创建它的构造函数的prototype,而构造函数的prototype也有__proto__
指向他的父辈或者是Object,当查找一个对象中不存在的属性时,会去它的__proto__
、__proto__
中的__proto__
中进行寻找,直到找到或者是null
为止 instanceof
判断对象的__proto__
和构造函数的prototype是不是同一个地址Object.setPrototypeOf
改变对象的__proto__
- 每个对象的
- 闭包
- 定义:在一个函数A中,定义函数B访问函数A的变量
- 目的:隐藏变量
- Map和Object的区别
- Map的key可以为任何值,而Object只能为string
- Map 元素的顺序遵循插入的顺序,而 Object 的则没有这一特性
- Weak map
- Weak map的key是弱引用,不会被垃圾回收的计数计算
- 可以用来做反射的元数据池、保存有关DOM节点的数据
- 实现一个Partial
type MyPartial<T> = {
[K in keyof T]?: T[K]};
- 输出什么
Promise.reject(2)
.catch(err=>console.log