//如果使用let,声明的变量仅在块级作用域内有效
        {
            var a = 1;
            let b = 2;
        }

        console.log(a);  // 1
        console.log(b);  // Uncaught ReferenceError: b is not defined

        var arr = [1,2,3]

        for (let i = 0, l = arr.length; i < l; ++i) {}

        console.log(i);

    //上面代码中,变量i是let声明的,当前的i只在本轮循环有效

        var arr = [];
        for (let i = 0, l = 10; i < l; ++i) {
            arr[i] = function() {
                console.log(i);
            }
        }

        arr[6]();  //?

    //不存在变量提升

        console.log(foo);
        console.log(bar);  //报错

        var foo = 2;
        let bar = 2;

    //块级作用域和 函数声明
    function f() { console.log('I am outside!'); }
    (function () {
      f();
    }());

    function f() { console.log('I am outside!'); }
    (function () {

      if (false) {
        function f() { console.log('I am inside!'); }
      }

      f();
    }());  

    //函数参数的解构赋值
    function add([x, y]){
      return x + y;
    }

    var result = add([1, 2]); // 3

    console.log(result);

        // es6 的 类的概念
        class Point {
          constructor(x, y) {
            this.x = x;
            this.y = y;
          }

          toString() {
            return '(' + this.x + ', ' + this.y + ')';
          }
        }        

        var point = new Point(1,2);
        console.log(point.toString());

        //可以写出 立即执行的 Class 类

        let person = new class {
          constructor(name) {
            this.name = name;
          }

          sayName() {
            return this.name;
          }
        }('张三');

        const result = person.sayName(); // "张三"

        console.log(result);    

ES6 语法笔记的更多相关文章

  1. JavaScript代码/ES6语法笔记一

    1. new Set()/去重一个数组 let arr = [1, 2, 2, 3, 3]; let set = new Set(arr); let newArr = Array.from(set); ...

  2. Webpack4 学习笔记三 ES6+语法降级为ES5

    前言 此内容是个人学习笔记,以便日后翻阅.非教程,如有错误还请指出 Webpack 将es6.es7语法降级为es5 需要通过 babel JavaScript编译器. 安装: npm i babel ...

  3. ES6入门笔记

    ES6入门笔记 02 Let&Const.md 增加了块级作用域. 常量 避免了变量提升 03 变量的解构赋值.md var [a, b, c] = [1, 2, 3]; var [[a,d] ...

  4. es6学习笔记--解构赋值

    昨天学习了es6语法中解构赋值,解构赋值在声明中和函数传参提高了灵活性和便捷性,值得掌握该语法. 概念: ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构.   数组的解构 ...

  5. es6学习笔记--字符串&amp;数值&amp;数组&amp;函数&amp;对象的扩展

    这几天抽空学习了es6语法,关于字符串,数值,数组,函数以及对象的扩展,看到es6标准入门这本书,里面讲的扩展特别多,我认为有几部分在项目上用不到,就挑有用的当笔记学习了. 字符串的扩展 str.in ...

  6. es6学习笔记--新数据类型Symbol

    学习了es6语法的symbol类型,整理笔记,闲时复习. Symbol 是es6新增的第七种原始数据类型(null,string,number,undefined,boolean,object),是为 ...

  7. ES6学习笔记&lt;三&gt; 生成器函数与yield

    为什么要把这个内容拿出来单独做一篇学习笔记? 生成器函数比较重要,相对不是很容易理解,单独做一篇笔记详细聊一聊生成器函数. 标题为什么是生成器函数与yield? 生成器函数类似其他服务器端语音中的接口 ...

  8. ES6学习笔记&lt;二&gt;arrow functions 箭头函数、template string、destructuring

    接着上一篇的说. arrow functions 箭头函数 => 更便捷的函数声明 document.getElementById("click_1").onclick = ...

  9. ES6学习笔记&lt;一&gt; let const class extends super

    学习参考地址1  学习参考地址2 ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准.因为当前版本的ES6是在2015年发布的,所以又称ECMAScript 2015:也 ...

随机推荐

  1. 记录NS_ASSUME_NONNULL_BEGIN和NS_ASSUME_NONNULL_END。

    Nonnull区域设置(Audited Regions) 如果需要每个属性或每个方法都去指定nonnull和nullable,是一件非常繁琐的事.苹果为了减轻我们的工作量,专门提供了两个宏:NS_AS ...

  2. MongoDB 之C#实践

    官方驱动:https://github.com/mongodb/mongo-csharp-driver/downloads.下载后,还提供了一个酷似msdn的帮助文档. samus驱动:https:/ ...

  3. Android 学习第9课,java android 项目的安装与启动过程

    android 安装过程: 开发工具先把.java文件转换成.class,然后转换成dx,再签名打包成apk,最后在设备上执行 adb install c:\xxx.apk android 启动过程: ...

  4. Android SDK Manager更新报错

    错误log: Fetching https://dl-ssl.google.com/android/repository/addons_list-.xml Fetched Add-ons List s ...

  5. 事件函数SetEvent、PulseEvent与WaitForSingleObject详解

    系统核心对象中的Event事件对象,在进程.线程间同步的时候是比较常用,发现它有两个出发函数,一个是SetEvent,还有一个PulseEvent, 两者的区别是: SetEvent为设置事件对象为有 ...

  6. static的应用以及静态与非静态的区别

    先前看到一个技术大牛写了一个关于静态成员与非静态成员,静态方法和非静态方法的各自区别,觉得挺好的,在这里写一个小程序来说明这些区别. package com.liaojianya.chapter5; ...

  7. Windows Azure 社区新闻综述(#69 版)

    欢迎查看最新版本的每周综述,其中包含有关云计算和 WindowsAzure 的社区推动新闻.内容和对话. 以下是过去一周基于您的反馈汇集在一起的内容: 文章.视频和博客文章 ·     使用 Azur ...

  8. Oracle 表空间和用户权限管理【转】

    一. 表空间 Oracle数据库包含逻辑结构和物理结构. 数据库的物理结构指的是构成数据库的一组操作系统文件. 数据库的逻辑结构是指描述数据组织方式的一组逻辑概念以及它们之间的关系. 表空间是数据库逻 ...

  9. scala IDE错误:..is cross-compiled with incompatible version....

    下午scala工程出现如下错误: 搜索这个问题,没有找到答案. 直接去官网查看http://scala-ide.org/docs/current-user-doc/faq/index.html,发现了 ...

  10. python实现 双向循环链表

    最近身边的朋友在研究用python来实现数据结构.遇到一个问题就是双向循环链表的实现,改指向的时候总是发蒙. 我自己尝实现了一个python的双向循环链表.附上代码,希望对大家有帮助. 如果不懂什么是 ...