zoukankan      html  css  js  c++  java
  • ES6 学习笔记(基础)

    书链接:http://es6.ruanyifeng.com/

    #、let

    • let 不存在“变量提升”
    • 暂时性死区(即:let 所定义的变量在局部作用域中不受外界影响)
      var tmp = 123;
      if (true) {
        tmp = 'abc'; // ReferenceError
        let tmp;
      }
    • 不允许重复声明

    #、const 

    • 定义一个常量(试图修改常量值会报错)
    • 和 let 一样,变量不提升、存在 暂时性死区、不允许重复声明

    #、变量解构赋值的用途

    • 交换变量的值
      let x = 1;
      let y = 2;
      
      [x, y] = [y, x];
      console.log(x,y);//2,1
    • 从函数返回多个值
      // 返回一个数组
      
      function example() {
        return [1, 2, 3];
      }
      let [a, b, c] = example();
      
      // 返回一个对象
      
      function example() {
        return {
          foo: 1,
          bar: 2
        };
      }
      let { foo, bar } = example();
    • 提取JSON数据
      let jsonData = {
        id: 42,
        status: "OK",
        data: [867, 5309]
      };
      
      let { id, status, data: number } = jsonData;
      
      console.log(id, status, number);// 42, "OK", [867, 5309]
    • 遍历Map结构
      const map = new Map();
      map.set('first', 'hello');
      map.set('second', 'world');
      
      for (let [key, value] of map) {
        console.log(key + " is " + value);
      }
      // first is hello
      // second is world

      如果只想获取键名,或者只想获取键值,可以写成下面这样。

      // 获取键名
      for (let [key] of map) {
        // ...
      }
      
      // 获取键值
      for (let [,value] of map) {
        // ...
      }
  • 相关阅读:
    每日总结6.14
    每日总结6.13
    每日总结6.12
    每日总结6.11
    用户故事与敏捷方法阅读笔记4
    用户故事与敏捷方法阅读笔记3
    团队冲刺第一阶段燃尽图
    团队冲刺10
    智能物联网:将人工智能的力量带入物联网
    MyEclipse修改文件后Building workspace时间过长
  • 原文地址:https://www.cnblogs.com/candy-Yao/p/9773878.html
Copyright © 2011-2022 走看看