507 字
3 分钟
五个提升效率的前端开发技巧

前言#

前端开发日新月异,掌握一些实用技巧可以大幅提升开发效率和代码质量。今天分享五个我在日常工作中经常用到的技巧。

1. 使用可选链操作符#

在处理嵌套对象时,可选链操作符 ?. 可以避免大量的空值判断:

// 传统写法
const city = user && user.address && user.address.city;
// 使用可选链
const city = user?.address?.city;

代码瞬间简洁了很多,而且不会因为中间值为 undefined 而报错。

2. 利用 structuredClone 深拷贝对象#

以前深拷贝通常用 JSON.parse(JSON.stringify(obj)),但它无法处理 DateRegExp 等特殊类型。现代浏览器已原生支持 structuredClone

const original = { name: "Alice", birthday: new Date("2000-01-01") };
const cloned = structuredClone(original);
console.log(cloned.birthday instanceof Date); // true

3. CSS 容器查询#

媒体查询是基于视口宽度的,但组件往往需要基于自身容器的大小来调整样式。CSS 容器查询解决了这个问题:

.card-container {
container-type: inline-size;
}
@container (min-width: 400px) {
.card {
display: grid;
grid-template-columns: 1fr 2fr;
}
}

这让组件真正做到了”自适应”,无论放在页面的哪个位置都能正确响应。

4. 用 AbortController 取消请求#

当组件卸载或用户切换页面时,应该取消未完成的网络请求,避免内存泄漏和不必要的资源消耗:

const controller = new AbortController();
fetch("/api/data", { signal: controller.signal })
.then(res => res.json())
.then(data => console.log(data))
.catch(err => {
if (err.name === "AbortError") {
console.log("请求已取消");
}
});
// 需要取消时
controller.abort();

5. 善用 console.table 调试#

当需要查看一组结构相似的数据时,console.tableconsole.log 直观得多:

const users = [
{ name: "张三", age: 28, role: "前端" },
{ name: "李四", age: 32, role: "后端" },
];
console.table(users);

浏览器控制台会以表格形式展示数据,一目了然。

总结#

这五个技巧都是我在实际项目中反复验证过的。好的代码不仅仅是”能运行”,更要追求简洁、可维护和高性能。希望这些技巧对你也有所帮助。

五个提升效率的前端开发技巧
https://fuwari.vercel.app/posts/five-frontend-tips/
作者
猫猫
发布于
2025-03-15
许可协议
CC BY-NC-SA 4.0