es6新语法:let、const
关于浏览器的兼容情况,可以访问can i use进行查询。
目前的主要方式还是通过使用Babel编译来解决兼容性问题。
我们目前使用Babel将ES6的代码兼容到了IE8,但这是在放弃某些新特性的条件下(例如export * from "xxx"等)。
let声明变量,可以说是具有作用域的var,用于声明变量,主要规则如下:
1、let声明的变量拥有块级作用域
{
let i=1;
console.log(i);//
}
console.log(i);//Uncaught ReferenceError: i is not defined
2、同一作用域,let变量应该先声明再调用,同时不能重复声明
{
console.log(t1); // undefined
var t1 = "var声明的变量";
console.log(t2); // Uncaught ReferenceError: t2 is not defined
let t2 = "let声明的变量"
}
{
let t3 = "第一次声明";
console.log(t3); // 直接报错 Uncaught SyntaxError: Identifier 't3' has already been declared
let t3 = "第二次声明"
}
3、for循环中,let声明的变量在循环内部的独立作用域会形成对应的副本
var a=[];
for(var i=0;i<10;i++){
a[i] = fucntion(){
console.log('i的值='+i);
}
}
console.log(i);
a[6]();//i的值是10, 无论a[n],i都是10 var a = [];
for (let i = 0; i < 10; i++) {
a[i] = function() {
console.log("i的值="+i);
};
}
// console.log(i) // 未定义 报错 Uncaught ReferenceError: i is not defined
a[6](); // i的值=6
const 声明静态变量,声明以后不能再修改,其他用法和let一样
const PI; //报错 Uncaught SyntaxError: Missing initializer in const declaration
const PI = 3.14; // 正确用法
PI = 3.1415; //报错,重复定义 Uncaught TypeError: Assignment to constant variable
es6新语法:let、const的更多相关文章
- ES6新语法
ES6新语法概览 简介 ES6是JavaScript语言的新一代标准,加入了一些新的功能和语法,正式发布于2015年6月,亦称ES2015:该标准由ECMA(欧洲计算机制造联合会)的第39号技术专家委 ...
- ES6入门五:箭头函数、函数与ES6新语法
箭头函数的基本用法与特点 函数与ES6新语法 一.箭头函数的基本用法与特点 声明箭头函数采用声明变量和常量的关键字:var.let.const 箭头函数的参数:没有参数用"()"空 ...
- ES6新语法的介绍
对于ES6新语法,阮一峰有一篇文章介绍的挺详细 http://es6.ruanyifeng.com/#docs/destructuring
- ES6新语法之let关键字;有别于传统关键字var的使用
ES6新语法于2015年发布:而我这个前端小白在17年才接触到.惭愧惭愧!!不过到目前为止,似乎只有FireFox和Chrome对ES6的支持相对良好.不过既然人家ES6已经出来了,还是要跟上技术的潮 ...
- 总结常见的ES6新语法特性
前言 ES6是即将到来的新版本JavaScript语言的标准,他给我们带来了更"甜"的语法糖(一种语法,使得语言更容易理解和更具有可读性,也让我们编写代码更加简单快捷),如箭头函数 ...
- 总结常见的ES6新语法特性。
前言 ES6是即将到来的新版本JavaScript语言的标准,他给我们带来了更"甜"的语法糖(一种语法,使得语言更容易理解和更具有可读性,也让我们编写代码更加简单快捷),如箭头函数 ...
- ES6 | ES6新语法 在编码实践中的应用
本章探讨如何将 ES6 的新语法,运用到编码实践之中,与传统的 JavaScript 语法结合在一起,写出合理的.易于阅读和维护的代码. 多家公司和组织已经公开了它们的风格规范,本文的内容主要参考了 ...
- ES6新语法(一)
1.常量 ES5没有定义声明常量的方式,ES6标准中引入了新的关键字const来定义常量. 常量必须给初始值: 常量不能在同一作用域内重新定义或赋值: <scr ...
- es6 新语法分享给爱前端的伙伴
相信es6大家并不陌生,那么我还是简单介绍一下es6,es是15年发布的,可以用babel转化成es5可以支持低端浏览器,es6是一种新的语法,流行的库基本都是基于es6开发的.所以小伙伴要掌握哦!而 ...
随机推荐
- darknet YOLO 编译使用GPU
Darknet在GPU上运行可以得到500倍的提速,编译使用GPU要求显卡是Nvidia卡并且正确安装了CUDA. GPU环境下的编译配置都是在 /darknet/Makefile 文件中定义的,GP ...
- Mac替换sublime图标
下载.icns格式一个图标:http://www.easyicon.net/language.en/iconsearch/sublime/ 终端执行:open /Applications/Sublim ...
- BZOJ_2111_[ZJOI2010]Perm 排列计数_树形DP+组合数学
Description 称一个1,2,...,N的排列P1,P2...,Pn是Magic的,当且仅当2<=i<=N时,Pi>Pi/2. 计算1,2,...N的排列中有多少是Magic ...
- 《HTTP2基础教程》笔记
<HTTP2基础教程>笔记 HTTP/1问题 队头阻塞 低效TCP 慢启动 拥塞避免阶段 臃肿头部 受限的优先级 高优先级无法插队 第三方资源 h2也无法很好解决 web性能优化 DNS查 ...
- Father Christmas flymouse
Father Christmas flymouse Time Limit: 1000MS Memory Limit: 131072K Total Submissions: 3479 Accep ...
- 【LeetCode】282. Expression Add Operators
题目: Given a string that contains only digits 0-9 and a target value, return all possibilities to add ...
- 洛谷 1979 华容道——最短路+dp
题目:https://www.luogu.org/problemnew/show/P1979 感到无从下手.但不妨用dp的角度来看.因为空格只有在指定棋子的旁边才有用,所以状态记成制定棋子的位置与空格 ...
- deprecated conversion from string constant to ‘char*’
deprecated conversion from string constant to ‘char*’ #include <iostream> using namespace std; ...
- js中关于事件捕获与事件冒泡的小实验
1.事件冒泡:事件按照从最特定的事件目标到最不特定的事件目标(document对象)的顺序触发. IE 5.5: div -> body -> document IE 6.0: div - ...
- Eclipse 安装插件
Eclipse 安装插件 本文介绍Eclipse插件的安装方法.Eclipse插件的安装方法大体有三种:直接复制.使用link文件,以及使用eclipse自带的图形界面的插件安装方法. AD: 做为当 ...