目录
-
es6泛指es5的升级版, es5的升级版
-
因为js是弱类型的语言,容错性比较强,遗留的一些问题:比如 变量可先使用后声明,违反正常的 代码规则
-
es6在es5的基础上新增了一些语法特性,解决了一些es5存在的问题,提升了开发效率
-
说明:ES2015 就是 ES6
变量
-
定义:在ES6中 给我们提供了一个新的声明变量的关键字 —— let
-
let的用法:基本和var 没区别
-
声明变量:let 变量名 赋值变量:变量名 = xxx
-
声明变量并赋值:let 变量名 = xxx
-
连续声明变量:let 变量名1 = xxx , 变量名2 = xxx , ....
-
连等:let 变量名1 = 变量名2 = .... = xxx
-
-
let 和 var的区别
-
let 声明的变量 不能重名 否则报错
-
let声明的变量 没有预解析
-
let声明的变量 具备一种特殊的作用域——块级作用域
-
块级作用域:任何大括号包裹的代码空间 都叫块级作用域{js代码}
-
块级作用域的实际应用——解决循环添加事件问题
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <ul> <li>一</li> <li>二</li> <li>三</li> <li>四</li> </ul> <script> var lis = document.querySelectorAll("li"); for(let i=0; i<lis.length; i++){ lis[i].onclick = function(){ console.log(i); } } </script> </body> </html>
-
暂时性死区
-
定义:在任何一个作用域中 我们在使用变量的时候 都会先查找当前作用域是否使用let声明过这个变量 如果声明过 就只能用当前作用域声明的 不能按照作用域链向上查找
-
-
-
常量
-
在ES6中 除了拓展了变量之外 还 添加了常量的概念 用来 存储一些值不会变化的数据
-
关键字:const
-
用法:和let完全相同
-
特点:和let也基本一样 不提升、有块级作用域、暂时性死区、不能重名
-
独有特点:
-
const声明的常量 必须 声明的时候一同赋值
-
const 常量名 = 数据;
-
-
常量的值 不能修改(复杂类型的内容除外)
-