javascript ES6是什么_有哪些新特性

15次阅读

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

javascript ES6是什么_有哪些新特性

ES6(全称 ecmascript 2015)是 javascript 语言的一次重大升级,2015 年正式发布,标志着 js 进入现代化开发阶段。它不是一门新语言,而是 JavaScript 的标准规范更新,解决了 ES5 中长期存在的语法冗余、作用域混乱、异步难写等问题,让代码更简洁、安全、易维护。

let 和 const:真正可控的变量声明

取代老旧的 var,带来三个关键改进:

  • 块级作用域:在 {} 内声明,外部无法访问,比如 iffor 块里定义的变量不会泄漏到外层
  • 禁止重复声明:同一作用域下,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 冗长写法:

立即学习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 更准确(不误判 0false 等假值)
  • 展开运算符(…):复制数组 [...arr]、合并对象 {...obj1, ...obj2}、传参 math.max(...numbers)
  • Promises:统一异步处理方式,配合 .then()/.catch() 替代深层回调嵌套
  • 模块化(import/export):原生支持按需导入导出,为现代打包工具和框架(react/vue)奠定基础
text=ZqhQzanResources