es6新版教程2-let和const新的声明方式

以前,我们都是通过var来申明变量,es6对声明进行了拓展。

var声明

1
2
var a="webwuyou"
console.log(a)

var声明的是全局变量,

1
2
3
4
5
var a=2;
{
var a=3;
}
console.log(a);//3

let局部声明

1
2
3
4
5
var a=2;
{
let a=3
}
console.log(a);//2

上面两个例子说明let是声明局部变量,let只在区块内起作用,块级作用域外部是不能调用的。

let主要是防止数据污染的

1
2
3
4
for(var i=0;i<10;i++){
console.log("循环体内;"+i);//1~9
}
console.log("循环体外:"+i);//10

这个时候,循环体外的i变量被污染了,如果在循环外再使用i的话,就会出现问题。
如果这个时候使用let声明,就可以解决这个问题

1
2
3
4
for(let i=0;i<10;i++){
console.log("循环体内:"+i)
}
console.log("循环体外:"+i)

这个时候,在循环体外再使用i就会报错,提示i没有undefined

const声明常量

const声明一个常量,声明以后,不再允许修改了

1
2
3
const a="webwuyou";
a="com"
console.log(a)

声明常量以后,再去赋值,就会报错了


上一篇
ES6拓展运算符 ES6拓展运算符
拓展运算符定义:拓展运算符是三个点(…),将一个数组、类数组、字符串转为用逗号隔开的序列12345let arr1=[1,2,3,,4];console.log(...arr1);let arr2=[1,2,3,[5,6,7],8]cons
2017-01-14
下一篇
es6新版教程1-配置babel转换器 es6新版教程1-配置babel转换器
ES6在低版本浏览器中存在兼容问题,使用babel转换器可以将es6的语法转换成es5的语法。 1. 初始化项目建好项目目录后,在根目录执行 npm init -y ,会在根目录下生产package.json文件 ,-y表示全部使用默
2017-01-12