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. 防止循环变量 ...
随机推荐
- 1.struts 防止表单重复提交 2. 拦截器
1. 使用struts 防止表单提交 时, form 表单必须使用struts标签库编写,如<s:form/> 等,而不是html标签 2. 拦截器是struts2的核心. interc ...
- Python 的stat 模块
#!/usr/bin/env python#-*- encoding:UTF-8 -*- import os,time,stat fileStats = os.stat ( 'test.txt' ) ...
- 2018.09.26洛谷P1084 疫情控制(二分+倍增)
传送门 好题啊. 题目要求的最大值最小,看到这里自然想到要二分答案. 关键在于怎么检验. 显然对于每个点向根走比向叶节点更优. 因此我们二分答案之后,用倍增将每个点都向上跳到跳不动为止. 这时我们ch ...
- 2018.09.16 codeforces1041C. Coffee Break(双端队列)
传送门 真心sb题啊. 考场上最开始看成了一道写过的原题... 仔细想了一会发现看错了. 其实就是一个sb队列. 每次插入到队首去就行了. 代码: #include<bits/stdc++.h& ...
- Spring boot 注解简单备忘
Spring boot 注解简单备忘 1.定义注解 package com.space.aspect.anno;import java.lang.annotation.*; /** * 定义系统日志注 ...
- DatePickerDialog TimePickerDialog
MainActivity.java public class MainActivity extends Activity { @Override public ...
- 20155216 2016-2017-2 《Java程序设计》第六周学习总结
20155216 2016-2017-2 <Java程序设计>第六周学习总结 教材学习内容总结 流与IO 将数据从来源中取出,可以使用输入串流:将数据写入目的地,可以使用输出串流,串流是有 ...
- mac windows蓝牙问题
如果是win7.win8或win10三者的64位版本,可以下载驱动解决:http://file2.mydrivers.com/2014/notebook/apple_broadcom_bluetoot ...
- (KMP 暴力)Corporate Identity -- hdu -- 2328
http://acm.hdu.edu.cn/showproblem.php?pid=2328 Corporate Identity Time Limit: 9000/3000 MS (Java/Oth ...
- 20155202 2016-2017-2 《Java程序设计》第6周学习总结
20155202 2016-2017-2 <Java程序设计>第6周学习总结 教材学习内容总结 输入输出 数据从来源取出:输入串流 java.io.InputStream 写入目的的:输出 ...