ES6语法特性(一)let const 解构赋值 模板字符串 箭头函数 rest 扩展运算符 Symbol

  • Post author:
  • Post category:其他




ES6



let



特性

  1. 变量不能重复声明
  2. 块级作用域(if else while for…)全局、函数、eval(严格模式)
  3. 不存在变量提示
  4. 不影响作用域链
{
   
  let name = 'wufeng';
  const fn = () => {
   
    console.log(name); // wufeng
  };
  fn();
}



案例

点击方块变色(var let)

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <style>
      .item {
    
        width: 50px;
        height: 30px;
        border: 1px solid red;
        margin-right: 10px;
        float: left;
      }
    </style>
  </head>
  <body>
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>

    <script>
      let items = document.querySelectorAll('.item');
      //使用var,循环结束此时i为3,items[3] undefined 报错
      // for (var i = 0; i < items.length; i++) {
    
      //   items[i].onclick = () => {
    
      //     items[i].style.background = 'pink';
      //   };
      // }
      //使用let 块级作用域互不影响
      for (let i = 0; i < items.length; i++) {
    
        items[i].onclick = () => {
    
          items[i].style.background = 'pink';
        };
      }
    </script>
  </body>
</html>

使用var 声明,报错

在这里插入图片描述



const 常量



特性

  1. 一定要赋初始值
  2. 值不能修改
  3. 变量名尽量使用大写
  4. 块级作用域
  5. 对对象、数组的元素修改,不算对常量的修改,不会报错(指向的地址没有变化)
      const ITEM = ['wufeng', 'wujie', 'sharp'



版权声明:本文为qq_38232003原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。