2025年前端最新面试题及答案
2025年前端最新面试题及答案
JavaScript 核心
1. 解释ES2025中的Record和Tuple提案
答案:
Record和Tuple是ES2025中新增的两种不可变数据结构:
- Record:不可变的对象,使用
#{ }
语法创建const record = #{ a: 1, b: 2 };
- Tuple:不可变的数组,使用
#[ ]
语法创建const tuple = #[1, 2, 3];特点: 1. 深度不可变(所有嵌套也是不可变的) 2. 可以通过===进行值比较 3. 不支持原型和自定义方法
2. WeakRef和FinalizationRegistry的使用场景
答案:
-
WeakRef:允许持有对象的弱引用,不会阻止垃圾回收
let obj = { data: 'important' }; const weakRef = new WeakRef(obj);使用场景:缓存系统,当内存不足时可以自动释放
-
FinalizationRegistry:在对象被垃圾回收时执行清理操作
const registry = new FinalizationRegistry((heldValue) => {console.log(`${heldValue}被回收了`);});</