ES6新增特性学习

简介: ES6新增特性学习

ES6 简介

ECMAScript 6 简称 ES6,是 JavaScript 语言的下一代标准,已经在2015年6月正式发布了。它的目标是使得 JavaScript 语言可以用来编写复杂的大型应用程序,成为企业级开发语言。

ECMAScript 和 JavaScript 的关系:前者是后者的语法规格,后者是前者的一种实现

新特性

1. let、const

let 定义的变量不会被变量提升,const 定义的常量不能被修改,let 和 const 都是块级作用域

ES6前,js 是没有块级作用域 {} 的概念的。(有函数作用域、全局作用域、eval作用域)

ES6后,let 和 const 的出现,js 也有了块级作用域的概念,前端的知识是日新月异的~

变量提升:在ES6以前,var关键字声明变量。无论声明在何处,都会被视为声明在函数的最顶部;不在函数内即在全局作用域的最顶部。这样就会引起一些误解。例如:

console.log(a); // undefined
var a = 'hello';
# 上面的代码相当于
var a;
console.log(a);
a = 'hello';
# 而 let 就不会被变量提升
console.log(a); // a is not defined
let a = 'hello';

const 定义的常量不能被修改

var name = "a";
name = "b";
console.log(name); // a
const name = "a";
name = "b"; // Assignment to constant variable.
console.log(name);
相关文章
|
7月前
|
网络架构
ES6中数组新增了哪些扩展?
ES6中数组新增了哪些扩展?
82 1
|
7月前
|
JSON 前端开发 JavaScript
ES6(2015)-ES13(2022)新增特性大总结
ES6(2015)-ES13(2022)新增特性大总结
109 0
|
7月前
|
网络架构
ES6函数新增了哪些扩展?
ES6函数新增了哪些扩展?
64 0
|
7月前
ES6对象新增了哪些扩展?
ES6对象新增了哪些扩展?
71 0
|
JavaScript 前端开发
5个高级ES6特性
5个高级ES6特性
|
网络架构
ES6中函数新增了哪些扩展?
ES6允许为函数的参数设置默认值
ES6中对象新增了哪些扩展?
ES6中,当对象键名与对应值名相等的时候,可以进行简写
|
网络架构
ES6中数组新增了哪些扩展?
ES6通过扩展元素符…,好比 rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列
|
前端开发
前端学习笔记202306学习笔记第四十二天-Es7-ES7新增特性
前端学习笔记202306学习笔记第四十二天-Es7-ES7新增特性
67 0
|
前端开发
前端学习笔记202306学习笔记第四十二天-ES12新增的特性1
前端学习笔记202306学习笔记第四十二天-ES12新增的特性1
49 0