JavaScriptES6学习笔记
JavaScriptES6学习笔记
凌晨独舞
这个作者很懒,什么都没留下…
展开
-
es6 编程风格
块级作用域(1)let 取代 varES6提出了两个新的声明变量的命令:let和const。其中,let完全可以取代var,因为两者语义相同,而且let没有副作用。'use strict';if (true) { let x = 'hello';}for (let i = 0; i < 10; i++) { console.log(i);}上面代码如果用var替代let,实际上就声明了转载 2017-09-04 17:57:28 · 7668 阅读 · 0 评论 -
ES6中let命令
let命令基本用法for (let i = 10; i >= 0; i--) { console.log(i+'------');}console.log(i);//用let 报错console.log(i); ^ReferenceError: i is not defined//用var。却可以展示10------9------8------7---转载 2017-07-16 23:21:24 · 7602 阅读 · 0 评论 -
ES6中的const命令
基本用法const声明一个只读的常量。一旦声明,常量的值就不能改变。const PI = 3.1415;PI // 3.1415PI = 3;// TypeError: Assignment to constant variable.上面代码表明改变常量的值会报错。const声明的变量不得改变值,这意味着,const一旦声明变量,就必须立即初始化,不能留到以后赋值。const foo;//转载 2017-07-17 00:02:34 · 7897 阅读 · 0 评论 -
ES6中的块级作用域
块级作用域为什么需要块级作用域?ES5 只有全局作用域和函数作用域,没有块级作用域,这带来很多不合理的场景。第一种场景,内层变量可能会覆盖外层变量。var tmp = new Date();function f() { console.log(tmp); if (false) { var tmp = 'hello world'; }}f(); // undefined上面代码转载 2017-07-16 23:51:35 · 8054 阅读 · 0 评论 -
ES6中的顶层对象的属性和global对象
顶层对象顶层对象,在浏览器环境指的是window对象,在Node指的是global对象。ES5之中,顶层对象的属性与全局变量是等价的。window.a = 1;a // 1a = 2;window.a // 2上面代码中,顶层对象的属性赋值与全局变量的赋值,是同一件事。顶层对象的属性与全局变量挂钩,被认为是JavaScript语言最大的设计败笔之一。这样的设计带来了几个很大的问题,首先是没法在转载 2017-07-17 00:14:40 · 8532 阅读 · 0 评论 -
es6 变量的解构赋值
什么是变量的解构赋值主题是赋值,解构是一种方式。从名字中我们就能知道这个是用来做赋值操作的,解构该怎么么理解?从数组和对象中提取值,对变量进行赋值, 看看下面的例子就明白了。数组的解构赋值基本用法let a = 1;let b = 2;let c = 3;可以写成:let [a, b, c] = [1, 2, 3]; 上面代码表示,可以从数组中提取值,按照对应位置,对变量赋值。本质上,这种写法属转载 2017-09-04 17:30:25 · 11409 阅读 · 0 评论