请选择 进入手机版 | 继续访问电脑版

ECMAScript6简介——let和 const命令

[复制链接]
来自北方 发表于 2021-1-1 18:34:46 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
ECMAScript6简介



Babel转码器

babel是一个广泛使用的ES6转码器,可将ES6转化为ES5,从而在现有的情况执行:


  • 实例

  • 下令行转码babel-cli
    Babel提供babel-cli工具,用于下令行转码
安装下令如下(全局):
  1. 1 $ npm install --global babel-cli
复制代码
安装下令如下(安装在项目中:):
  1. 1. #安装2. $ npm install --save-dev  babel-cli
复制代码
let和 const下令

let下令
· 根本用法:

  • 用来声明变量,用法与var相似,但是所声明的变量只在let代码块内有效
  1. { var a = 1; let  b = 2; }//使用let下令定义的变量在代码块外无效
复制代码
for循环的计数器,很适用于使用let下令
·不存在变量提升

  • var下令会发生"变量提升"现象,即变量可以在声明前使用,值为undefined,而let下令改变了这种语法行为,他所声明的变量一定要在声明后使用,否则报错。
· 暂时性死区

  • 只要块级作用域内存在let下令,它所声明的变量就"绑定"这个区域,不再受外部影响。
· 不允许重复声明

  • let不允许在相同作用域内,重复声明同一个变量
块级作用域


  • 应该制止在块级作用域内声明函数。如果确实需要,也应该写成函数表达式,而不是函数声明语句。
  • ES6 的块级作用域允许声明函数的规则,只在使用大括号的情况下成立,如果没有使用大括号,就会报错。
const下令

根本用法:

  • const声明一个只读的常量,一旦声明,常量的值就不能改变。
报错:
  1. const PI = 3.1415;PI PI = 3;
复制代码

  • const声明的变量不得改变值,这意味着,const一旦声明变量,就必须立即初始化,不能留到以后赋值。对于const来说,只声明不赋值,就会报错。
  • const的作用域与let下令相同:只在声明所在的块级作用域内有效。
  • const下令声明的常量也是不提升,同样存在暂时性死区,只能在声明的位置反面使用。
  • const声明的常量,也与let一样不可重复声明。
  1. var message = "Hello!";let age = 25;//以下两行都会报错const message = "GoodBye!"const age = 30;
复制代码
本质

const实际上包管的,并不是变量的值不得改动,二十变量指向的谁人内存地点,对于简朴类型的数据(数值、字符串、布尔值),值就生存在变量指向的内阁内存地点,因此等同于常量,但对于复合型的数据(主要是对象和数组),变量指向的内存地点,生存的只是一个指针,const只能包管这个指针是固定的,至于它指向的数据布局是不是可变的,就完全不能控制了。因此,将一个对象声明为常量必须非常小心。
  1. const a = [];a.push('hi');    // 可执行a.length = 0;    // 可执行a = ['hello'];   // 报错
复制代码
常量a是一个数组,这个数组本身是可写的,但是如果将另一个数组赋值给a,就会报错。
ES6声明变量的六种方法


  • ES5只有两种声明变量的方法:var下令和function下令。ES6除了添加let和const下令,尚有别的两种声明变量的方法:import下令和class 下令,所以ES6一共有六种声明变量的方法。
顶层对象的属性


  • 顶层对象,在欣赏器情况指的是window对象,在Node指的是global对象,ES5之中,顶层对象的属性与全局变量是等价的。
  1. window.a = 1;a   //1a = 2;window.a   //2
复制代码
来源:https://blog.csdn.net/qiuqiudongdong/article/details/111998550
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

发布主题

专注素材教程免费分享
全国免费热线电话

18768367769

周一至周日9:00-23:00

反馈建议

27428564@qq.com 在线QQ咨询

扫描二维码关注我们

Powered by Discuz! X3.4© 2001-2013 Comsenz Inc.( 蜀ICP备2021001884号-1 )