美文网首页
ES6笔记 - 语法

ES6笔记 - 语法

作者: 朗迹张伟 | 来源:发表于2016-06-23 13:20 被阅读101次

    let变量定义(块级作用域)


    ES6新增了let命令,用来声明变量。它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效。
    循环的计数器,就很合适使用let命令。

    var length = 6;
    for (let i = 0; i < length; i++) {
        console.log(i);
    }
    console.log(i);
    

    定义在for外面的i会不起作用

    块级作用域与函数声明


    ES6引入了块级作用域,明确允许在块级作用域之中声明函数。

    // ES6严格模式'use strict';
    if (true) { 
        function f() {}// 不报错
    }
    

    并且ES6规定,块级作用域之中,函数声明语句的行为类似于let,在块级作用域之外不可引用。

    const命令


    const声明一个只读的常量。一旦声明,常量的值就不能改变。

    const PI = 3.1415;
    

    const声明的变量不得改变值,这意味着,const一旦声明变量,就必须立即初始化,不能留到以后赋值。
    const的作用域与let命令相同:只在声明所在的块级作用域内有效。

    const a = [];
    a.push('Hello'); // 可执行
    a.length = 0;    // 可执行
    a = ['Dave'];    // 报错
    

    上面代码中,常量a是一个数组,这个数组本身是可写的,但是如果将另一个数组赋值给a,就会报错。

    =>语法


    • ES6引入了新的箭头函数编写方式。
    // ES5  
    var selected = allJobs.filter(function (job) {  
      return job.isSelected();  
    });  
    // ES6  
    var selected = allJobs.filter(job => job.isSelected());  
    
    • 当需要编写一个含有多个参数的函数时,只要把相关参数用括号包起来就好了
    // ES5  
    var total = values.reduce(function (a, b) {  
      return a + b;  
    }, 0);  
    // ES6  
    var total = values.reduce((a, b) => a + b, 0);  
    
    • 除了函数样式编写,箭头函数还可以包含区块语句而不仅仅是单一表达式。
    / /ES5
    $("#confetti-btn").click(function (event) {  
      playTrumpet();  
      fireConfettiCannon();  
    });  
    // ES6  
    $("#confetti-btn").click(event => {  
      playTrumpet();  
      fireConfettiCannon();  
    });  
    

    相关文章

      网友评论

          本文标题:ES6笔记 - 语法

          本文链接:https://www.haomeiwen.com/subject/nzwndttx.html