美文网首页
ES6系统学习之变量

ES6系统学习之变量

作者: 咧咧0622 | 来源:发表于2020-12-09 18:01 被阅读0次

声明方法

在ES5中我们的声明关键字只有一个var,我们任何变量都使用var来声明,甚至重复声明同一个变量,比如下面这样。

var a = 1;
var a = 2;

这样的写法明显是有缺陷的,但是在ES5中这样的写法并不违法。

let(不可重复声明)

let是ES6中新的声明方法,他的特点是已经声明过的变量不能重复声明,就想上面那个例子,如果我们用let关键字声明,他就会出现以下报错,提醒我们变量已经声明

在这里插入图片描述

const(常量)

常量的概念在很多语言中都存在,在ES6中也引入了常量的声明方式const,和其他语言的常量一样,被声明的常量不能被重新赋值。由于const具有和let一样的不可重复声明的特性,因此我们需要修改一下上面的例子:

const a = 1;
a = 2;

他会出现以下报错,提醒我们不能对常量再进行赋值。


在这里插入图片描述

块级作用域

var的作用域

在ES5中,var的作用域是函数级的,即我们在函数内部的任何地方只要使用var声明了变量,由于变量提升,该变量就能在该函数的任何地方被访问。
由于ES5中我们没有块级作用域变量,所以我们常常采用闭包或者立即执行函数IIFE的方法实现块级作用域的效果,他们的原理依然是利用var的函数级作用域。

let的作用域

在ES6中,let的作用域是块级的,所谓代码块,即 { } 括起来的部分。

解构赋值

let { a, b } = { a: 1, b: 2 }
let [c, d] = [12, 13]

目的:为了取数据方便。
注意事项:

  1. 两边的结构必须一样;
  2. 右边必须是个对象(数组);
  3. 赋值和解构需同时完成,不能分成两句代码;

总结

var let const
可以重复声明 不能重复声明 不能重复声明
不能限制修改 变量可修改 常量不能再赋值
函数级作用域 块级作用域 块级作用域

var say goodbye!

相关文章

  • ES6系统学习之变量

    声明方法 在ES5中我们的声明关键字只有一个var,我们任何变量都使用var来声明,甚至重复声明同一个变量,比如下...

  • ES6

    ES6 学习目录 1. let >1 定义变量的时候没有变量的预解释 >2 不能重复定义变量 > 3 ...

  • ES6常变量关键字

    ES6之前如何定义变量 可以重复定义变量,会覆盖 会对变量进行预解析 ES6之后如何定义变量 不允许重定义变量 没...

  • Linux学习之环境变量

    转自:Linux学习之环境变量在linux中环境变量是一个重要的概念,环境变量可以由系统、用户、shell、以及其...

  • JSLearn

    JSLearn-ES6 'ES6语法学习' JavaScript基础知识剖析 01 变量与原型 01-01 变量类...

  • 16-JavaScript-ES6语法

    ES6常量和变量关键字 ES6定义变量 注意点:ES6开始新增了一种作用域, 叫做代码块通过let定义的变量受到代...

  • es6重点介绍

    ES6 的变量声明 ES6 中新增了 let 和 const 来定义变量: var:ES5 和 ES6中,定义全局...

  • ES6 笔记(常量&&变量)

    ES6 笔记(常量&&变量) 变量&&常量 新特性 ES6 新增了let命令,用来声明变量。它的用法类似于var,...

  • js 变量提升(3)

    ### ES6中let创建的变量不存在变量提升 /* * 在ES6中基于let或者CONST等方式创建变量或者函数...

  • ES6语法

    ES6语法 1.ES5和ES6声明变量的方式对比 ES5中声明变量的方式: ES6中声明变量的方式: 2. var...

网友评论

      本文标题:ES6系统学习之变量

      本文链接:https://www.haomeiwen.com/subject/kjzhgktx.html