ES6标准入门读书笔记
第一章 基础
1.let和const命令
(1).let用于声明变量,所声明的变量只在当前代码块有效
特点:不存在变量提升 所以在变量声明之前就使用会报错
暂时性死区 只要块级作用域内存在let命令,他所声明的变量就绑定在该区域,不再受外部影响 如全局和块内都有同名变量 在块内操作是操作块内的那个变量
ES明确规定,如果区块中存在let和const指令,则这个区块对这些命令声明的变量从一开始就形成封闭作用域,只要在声明之前使用,就会报错
不允许重复声明 不允许在同一作用域重复声明,因此不能在函数内部声明与参数同名的变量
tips:function bar(x = y, y = 2){
console.log(x,y);
} // 会报错 因为当把y的值赋给x时y还没有声明
(2).块级作用域
块级作用域产生之前不合理的场景:
内部变量可能会覆盖外部变量 如内部有与外部同名的变量声明 由于变量声明提升 所以内层覆盖外层
用来计数的变量泄露成全局变量 由于闭包问题 计数的变量不能释放成为全局变量 失去计数功能
let实际上为js提供块级作用域
特点:
let定义的变量 外层代码不受内层代码影响
内层作用域可以定义与外层同名的变量
可以取代匿名函数
tips:
ES6规定,函数本身的作用域在其所在的块级作用域中
在严格模式下,函数只能在顶层作用域和函数内声明,其他情况会报错
ES6标准入门读书笔记的更多相关文章
- 第三章 Git的入门 - 读书笔记
Android驱动月考3 第三章 Git的入门 - 读书笔记 对于Github,这是全世界最大的开源平台,你可以把你做的项目在这里开源,把你发现的一些新技术在这里开源,向全世界的开发者们分享,大家都彼 ...
- ES6标准入门之变量的解构赋值简单解说
首先我们来看一看解构的概念,在ES6标准下,允许按照一定模式从数组和对象中提取值,然后对变量进行赋值,这被称作解构,简而言之粗糙的理解就是变相赋值. 解构赋值的规则是,只要等号右边的值不是对象或者数组 ...
- [转] 《ES6标准入门》读书笔记
来源:https://segmentfault.com/a/1190000005863641 let和const命令 ES6新增let命令,用于声明变量,是块级作用域. let声明的变量不会像var声 ...
- 《ES6标准入门》读书笔记 第5章 - 正则增强
第五章 - 正则增强 构造函数增强 允许覆写修饰符,如new RegExp(someRegex, 'ig') 字符串上的正则方法 原先match.replace等可以调用正则的方法在String的原型 ...
- 【学习笔记】ES6标准入门
这里简要记录一下对自己感触比较深的几个知识点,将核心的应用投放于实际的项目之中,提供代码的可维护性. 一.let和const { // let声明的变量只在let命令所在的代码块内有效 let a = ...
- ES6标准入门(第三版)学习笔记(1)
ES6声明变量的六种方法 ES5只有两种 var,function命令 ES6新增了let,const,class,import命令 验证var与let用法上的不同 var a = []; for ( ...
- Python全栈工程师之从网页搭建入门到Flask全栈项目实战(1) - ES6标准入门和Flex布局
1.简述 1.什么是ES6?ES6, 全称 ECMAScript 6.0,是 JavaScript 的下一个版本标准,2015年6月份发版.ES6的主要目的是为了解决 ES5 的先天不足. 2.了解E ...
- ES6标准入门 第一章:简介
ECMAScript 6 是JavaScript 语言的下一代标准:发布于2015年,又称为ECMAScript 2015. ECMAScript 与 JavaScript 的关系:前者是后者的规范, ...
- 《ES6标准入门》(阮一峰)--11.对象的新增方法
1.Object.is() ES5 比较两个值是否相等,只有两个运算符:相等运算符(==)和严格相等运算符(===).它们都有缺点,前者会自动转换数据类型,后者的NaN不等于自身,以及+0等于-0.J ...
随机推荐
- IDLE清屏扩展
新建ClearWindows.py,复制以下代码: class ClearWindow: menudefs = [ ('options', [None, ('Clear Shell Window', ...
- ES6多层解构
const info = { person: { name: 'xiaobe', other: { age: 22, } }, song: 'rolling', } // 解构person的内容 co ...
- HTML5外包注意事项-开发HTML5游戏的九大坑与解决方法剖析
随着移动社区兴起,势必带动HTML5的革命.未来一两年内,HTML5移动游戏必将呈现大爆发趋势. 以下是整理的HTML5游戏研发.市场趋势以及渠道布局和技术解决方案的内容.希望大家能从本文中找到对HT ...
- c++_day5_成员指针
1.成员指针实质:特定成员变量在对象实例中的相对地址. 2.类内可以直接初始化静态常量(声明部分).
- Ajax+setInterval定时异步刷新页面
这个是之前一个项目中用到的功能,现在记录一下他的使用步骤. 现在讲解一下具体的关键代码: 1. window.onload:是指等待页面html和css都执行完毕以后才开始执行js文件,因为我这个 ...
- python之做一个简易的翻译器(一)
平时经常在网上翻译一些单词,突发奇想,可不可以直接调某些免费翻译网站的接口呢?然后做一个图形界面的翻译小工具?下面开始实践 1.先找一下有哪些免费翻译的接口 百度了一下关键字“免费翻译接口”,然后找到 ...
- 1.1 Django起步
1.1 Django起步 1.1.1. Django简介 Django开发框架(简称Django)诞生的时间是2003年的金秋时节,美国有两位程序员Adrian Holovaty和Simon ...
- L - Non-Prime Factors (质数筛选+因子分解)
In many programming competitions, we are asked to find (or count the number of) Prime Factors of an ...
- 初识Log4Net
刚刚了解log4net,根据自己的理解翻译了一下比较重要的东西.详细状况请见log4net官方网站 log4net是一种帮助程序员将日志语句输出到各种目标文件的输出工具,有了log4net,就可以在运 ...
- CentOS 7 + MySql 中文乱码解决方案
原文:https://blog.csdn.net/qq_32953079/article/details/54629245,亲测有效,故记录之. 一.登录MySQL查看用SHOW VARIABLES ...