ES6新增变量
声明let
let 声明的变量不存在预解析
console.log(flag)
var flag = 123 //123
let flag = 456 //undefined
let声明的变量不允许重复(在同一个作用域内)
let flag = 123;
let flag = 456;
console.log(flag); //Identifier 'flag' has already been declared
ES6引入了块级作用域,块内部定义的变量,在外部是不可以访问的
if(true){
var flag = 123;//123
let flag = 123;//flag is not defined
}
console.log(flag)
{
// 这里是块级作用域
let flag = 111;
console.log(flag); //111
}
console.log(flag);//flag is not defined
for (let i = 0; i < 3; i++) {
// for循环括号中声明的变量只能在循环体中使用
console.log(i);//0,1,2
}
console.log(i); i is not defined
在块级作用域内部,变量只能先声明再使用
if(true){
console.log(flag); //flag is not defined
let flag = 123;
}
声明const
const用来声明常量,const声明的常量不允许重新赋值
const n = 1;
n = 2;
console.log(n) //Assignment to constant variable.
const声明的常量必须初始化
const abc;
console.log(abc);//Missing initializer in const declaration
ES6新增变量的更多相关文章
- es6 新增变量声明方式
let 与 var var var声明的变量拥有全局作用域或者局部作用域 在全局中声明变量即为全局变量 在函数中声明变量即为局部变量 而var在使用过程中也逐渐暴露出许多问题 var的几大问题 变量提 ...
- es6新增
首先要说let,他是只在代码块中执行的变量,例如: { let a = 10; var b = 1;}console.log(a);//definedconsole.log(b);//1 ...
- ECMAScript简介以及es6新增语法
ECMAScript简介 ECMAScript与JavaScript的关系 ECMAScript是JavaScript语言的国际化标准,JavaScript是ECMAScript的实现.(前者是后者的 ...
- es6新增功能
声明命令 1. let命令 ES6新增了let命令,用来声明变量.它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效.下面代码在代码块之中,分别用let和var声明了两个变量.然 ...
- ES6 新增的一些东西
一.常量 不允许重复定义 const a='HELLO' const a='world'//报错Uncaught SyntaxError: Identifier 'a' has already bee ...
- ES6新增常见特性
一:声明属性let const var let const 区别 1.var声明变量会发生变量提升,let.const不会发生变量提升 2.var允许重复声明变量,let不可以 3.const声明变量 ...
- ES6新增内容总结
ES6新增内容有:1,模块化思想.2,关于变量let和const.3,解构赋值.4,字符串的扩展.5,函数的扩展.6,箭头函数.7,继承apply的用法 以下就是详解: 1:模块化思想 非模块化有命名 ...
- ES6新增特性
ES6: ECMA 第六次改版 块级作用域: 凡是被{ }包裹住的代码都是块级作用域,除了对象 特点:会造成一个暂时性死区 新增声明变量的两种方式: let: a. ...
- ES6新增语法和内置对象(let,const, Array/String/Set 扩展方法(解构赋值,箭头函数,剩余参数))
1.let ES6中新增的用于声明变量的关键字. let 声明的变量只在所处于的块级有效. 注意:使用 let 关键字声明的变量才具有块级作用域,var 关键字是不具备这个特点的. 1. 防止循环变量 ...
随机推荐
- oracle存储过程结合我公司代码1
1. Framework.QueryInfo info1 = new Framework.QueryInfo(); //string Sql = Holwor ...
- Cordova学习
Cordova学习 ui线程里处理耗时逻辑 runOnUiThread(new Runnable() { public void run() { //处理 } });
- apicloud代码压缩和全局加密
首先说代码压缩,因为没什么用,就先说它了.代码压缩后,apicloud里面的css和js文件里面的空格呀回车呀都去掉了,就是文件小了,所有代码显示为一行了.这些代码的变量没有重命名,我们知道jquer ...
- 抽象 abstract 和 接口 interface。 java 的 堆 和 栈。 参数传递(基本类型和普通对象的区别)
package com.test; import com.test.Pro; //protected 修饰的成员只能在本包中和 继承该类的方法中使用 public abstract class Tes ...
- failed creating java jvm.dll
启动tomcat服务时出现错误failed creating java jvm.dll的解决办法 把jdk\bin目录下的msvcr71.dll 或msvcr100.dll 复制到tomcat安装目录 ...
- 2018.07.31洛谷P1552 [APIO2012]派遣(可并堆)
传送门 貌似是个可并堆的模板题,笔者懒得写左偏堆了,直接随机堆水过.实际上这题就是维护一个可合并的大根堆一直从叶子合并到根,如果堆中所有数的和超过了上限就一直弹直到所有数的和不超过上限为止,最后对于当 ...
- SIM900 AT来电显示开启,一些代码
/*Note: this code is a demo for how to using gprs shield to send sms message, dial a voice call and ...
- spring+hibernate 整合异常 Class 'org.apache.commons.dbcp.BasicDataSource' not found
解决方法 添加 commons-dbcp.jar和commons-pool.jar包
- Linux学习--2
字符串 字符串可以用单引号,也可以用双引号,也可以不用引号.单双引号的区别跟PHP类似 单引号字符串的限制:单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的:单引号字串中不能出现单引号(对 ...
- C#-流、存储
流输入输出 VS提供的类库,可方便数据的转移操作,一部分是文件和目录方面 file类 用静态方法, fileinfo类 用实例方法 dictionary类 用静态方法 dictionary ...