Web前端系列技术之JavaScript进阶(从ES6开始)①

ES6 基础学习一

在之前的内容学习中,已经学会了基础的 DOM操作BOM操作 ,同时也认识了 对象函数事件 的基本概念和用法,有兴趣的小伙伴可以❤️ 订阅APIs专栏免费学习 ❤️哟;那么接下来就是会结合目前市面上最流行的 ES6 对这些 基础的JS 进行更细化的学习;


说到 ES6 ,我想大家应该都有所耳闻;其实,它就是在2015年6月份迎来的 ECMAScript标准的第六版 的简称,之前的 ES5 都已经可以追溯到2009年了。厚积薄发的ES6可以称得上是内容变化最大的一个版本,它提供了许多的新语法和新特性,在很大程度上帮助开发者们处理更为复杂的业务逻辑,并且还能有效的 增强代码的可读性减少代码的错误率;那么接下来本专栏 ES6基础学习 主要介绍的就是耳熟能详的 Promise箭头函数模板字符串 、以及 let解构,当然也包括陌生的 代理反射迭代器生成器 等,欢迎大家订阅关注啦❤️❤️

那么今天主要会学习的内容是:
一、let和const
二、作用域
三、闭包
四、预解析
五、参数
六、箭头函数



一、let和const

ES6 之前的版本中,用于声明变量的关键字只有var,并且没有块作用域,只有函数作用域和全局作用域,但是在 ES6 中由于提出了letconst,就彻底改变了以往的局面;它们不仅可以用于声明变量,还可以将变量绑定到当前所处在的任意作用域中,如此一来就形成了块作用域。因此,可简单的了解到letconst这两关键字与var大体的区别:

  1. 不允许声明提升;
  2. 不允许重复声明;
  3. 不覆盖全局变量;

当然,这里也会细讲letconst

1. let

其实,对于let可以理解为是var的升级版本,摒弃和纠正了var的一些导致代码混乱的特性,从而使代码的逻辑更清晰,可维护性更高;

特性一:其无法实现变量提升;

代码样例:

{
   
  let inner = true
  console.log(inner)  //true
}
console.log(inner)  //抛出未定义的引用错误

特性二:存在临时死区;

临时死区:也叫暂时性死区,英文简写为 TDZ ;用letconst声明的变量,在声明之前是都会被放到 TDZ 中的,如果对于这些变量未赋值便访问的话,就会产生运行错误;

特性三:不允许重复声明;
当然,这里有一个前置条件:就是只有在相同的作用域时,才不允许同一个变量的重复声明;,这完全是因为 ES6 引入了一个重复声明的检查机制,促使着避免项目开发的过程中存在的同名变量影响代码逻辑的情况;

特性四:不覆盖全局变量;
在使用var在全局作用域中声明变量的时候,该变量不但会成为全局变量,而且还会成为全局对象,而在ES6中,针对这种情况影响函数封装导致不利于代码模块化的问题,规定了使用let可将全局变量和全局对象断开练习;

代码样例:

var global = true
var Math = true
console.log(window.global)// true
console.log(window.Math)// true

let whole = true
let Math = true
console.log(window.whole)//undefined
console.log(window.Math)//Math对象

2. const

对于const来说,它不但具有let所具有的四大特性,它自己本身也有一个很重要的特性:声明常量

不过,此处需要强调的一点就是,const限制的其实是变量和内存地址之间的绑定,也就是说:

  1. 如果是基本类型(如布尔值、数字等)的变量,那么对应的内存地址中保存的就是值,不可更改
  2. 如果是引用类型(如对象)的变量,那么对应的内存地址中保存的就是指向实际数据的一个指针,可以修改其内部的属性或方法

⭐注意:const在声明时必须初始化(即赋值),并且在设定后,其值无法再改变;


二、作用域

基础概念: 作用域(scope)规定了变量能够被访问的 “范围” ,离开了这个 “范围” ,变量便不能被访问了,作用域通常也被分为 全局作用域局部作用域

其中,局部作用域 又分为 函数作用域块作用域,具体如图所示:

  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力学前端的小柴

感谢有你,汪~汪~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值