es6核心特性可精简代码、防错提效:用const/let替代var解决作用域混乱;解构赋值+默认值简化api取值;箭头函数自动绑定this;模板字符串优化拼接与多行文本。

直接用 ES6 的核心特性重构日常写法,能省掉大量防御性代码、避免常见陷阱、让逻辑更直白。不是加功能,而是删冗余、防出错、提可读。
用 const/let 替代 var,从源头掐断作用域混乱
var 声明会变量提升,且是函数作用域,在 if 或 for 里声明的变量,外面还能访问,容易引发意外交互。const 和 let 是块级作用域,声明前访问直接报错(TDZ),逼你理清初始化顺序。
- 默认全用 const;只有明确要重新赋值时才用 let
- 对象或数组用 const 声明后,内部属性仍可修改——这是“绑定不可重赋值”,不是“值不可变”
- 配合 ESLint 的
no-var规则,编辑器能实时拦截 var 使用
解构赋值 + 默认值,一招解决 API 数据取值痛点
处理接口返回数据时,传统写法要层层判空、设默认值,既啰嗦又容易漏。解构配合默认值,一行搞定,还自带空值防护。
- 对象解构:
const { id = 0, name = '未知', tags = [] } = data || {}; - 嵌套安全写法:
const { user: { name } = {} } = response || {};,先给中间层兜底 - 函数参数也支持:
function render({ title = '标题', visible = true } = {}) { ... },调用时传对象即可,不依赖参数顺序
箭头函数自动绑定 this,告别 bind 和 that = this
在事件监听、setTimeout、map 回调等场景中,普通函数的 this 容易丢失。箭头函数没有自己的 this,直接继承外层词法作用域,天然适合这类上下文。
- React 类组件中,方法可直接写成类字段:
handleClick = () => { console.log(this.props); }; - 注意:箭头函数不适合定义对象方法(如
obj.method = () => {}),因为每次渲染都会新建函数,影响性能 - 异步链式调用更清爽:
fetch('/api').then(res => res.json()).then(data => console.log(data));
模板字符串替代拼接,动态 HTML 和多行文本一步到位
不用再拼 '<div class="' + cls + '">' + content + '</div>' 这种易错又难读的字符串。反引号 + ${} 支持表达式、换行、引号自由嵌套。
- 生成结构化 HTML:
return `<li class="${active ? 'active' : ''}">${item.name}</li>`; - 多行日志或提示语,直接换行,无需
+或\n - 条件逻辑可内联:
${user.email || '<span class="empty">未填写</span>'}
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











