美文网首页
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