ES6是JavaScript的重大升级,2015年发布,引入let/const(块级作用域、禁止重复声明、暂时性死区)、解构赋值、模板字符串、箭头函数、默认参数、展开运算符、Promises和模块化等特性,提升代码简洁性、安全性和可维护性。

ES6(全称 ECMAScript 2015)是 JavaScript 语言的一次重大升级,2015 年正式发布,标志着 JS 进入现代化开发阶段。它不是一门新语言,而是 JavaScript 的标准规范更新,解决了 ES5 中长期存在的语法冗余、作用域混乱、异步难写等问题,让代码更简洁、安全、易维护。
let 和 const:真正可控的变量声明
取代老旧的 var,带来三个关键改进:
-
块级作用域:在
{}内声明,外部无法访问,比如if或for块里定义的变量不会泄漏到外层 -
禁止重复声明:同一作用域下,
let a; let a;或const b = 1; const b = 2;都会报错 -
无变量提升 + 暂时性死区:不能在声明前使用,比如
console.log(x); let x = 10;直接报ReferenceError -
const 不是“完全不可变”:对对象或数组用
const声明,只是不能重新赋值(即不能改引用地址),但可以修改其内部属性或元素,例如:const arr = [1]; arr.push(2);是合法的
解构赋值:一行提取数据
从数组或对象中按结构快速取值,大幅减少样板代码:
-
数组解构:
const [first, , third] = ['a', 'b', 'c'];→first === 'a',中间用逗号跳过 -
对象解构:
const { name, age: years } = { name: 'Tom', age: 30 };→ 变量名可重命名(years) -
默认值支持:
const { city = 'Beijing' } = {};→ 缺失属性时自动填充 -
函数参数解构:
function greet({ name, msg = 'Hi' }) { return `${msg}, ${name}!`; }
模板字符串与箭头函数:写法更自然
告别 + 拼接和 function 冗长写法:
技术上面应用了三层结构,AJAX框架,URL重写等基础的开发。并用了动软的代码生成器及数据访问类,加进了一些自己用到的小功能,算是整理了一些自己的操作类。系统设计上面说不出用什么模式,大体设计是后台分两级分类,设置好一级之后,再设置二级并选择栏目类型,如内容,列表,上传文件,新窗口等。这样就可以生成无限多个二级分类,也就是网站栏目。对于扩展性来说,如果有新的需求可以直接加一个栏目类型并新加功能操作
立即学习“Java免费学习笔记(深入)”;
-
模板字符串:用反引号
`包裹,支持多行和嵌入表达式:const str = `Hello ${user.name}, you have ${count || 0} new messages.`; -
箭头函数:简化函数定义,且
this绑定定义时的上下文,避免回调中丢失:list.map(item => item.id)或setTimeout(() => console.log(this.value), 100); - 单参数可省括号,单表达式可省
{}和return,如:x => x * 2
其他高频实用特性
这些特性虽不总被单独强调,但在日常开发中高频出现:
-
默认参数:
function fn(a = 1, b = 'ok') { },比 ES5 的a = a || 1更准确(不误判0、false等假值) -
展开运算符(...):复制数组
[...arr]、合并对象{...obj1, ...obj2}、传参Math.max(...numbers) -
Promises:统一异步处理方式,配合
.then()/.catch()替代深层回调嵌套 - 模块化(import/export):原生支持按需导入导出,为现代打包工具和框架(React/Vue)奠定基础










