ES6变量介绍和用法示例

本文概述

  • 变量初始化
  • 变量声明的有效语法类型
  • JavaScript变量范围
  • JavaScript动态键入
  • ES6和可变吊装
  • 不初始化JavaScript初始化
变量是内存中的命名空间, 用于存储值。变量的名称称为标识符。命名标识符时应牢记一些规则。这些规则如下:
  • 它可以包含数字和字母。
  • 你不能以数字开头变量的名称。
  • 关键字不能用作变量的名称。
  • 除美元($)符号和下划线(_)外, 标识符不包含空格和特殊字符。
变量初始化这是将值存储在变量中的过程。可以在使用变量之前随时对其进行初始化。
ES6语法使用关键字var声明变量。在ES5中, 我们这样声明变量:
var x //Declaration of a variable by using the var keyword

变量声明的有效语法类型某些有效的变量声明如下:
var $example1=valuevar example1=valuevar _example$=value

在ES6中, 变量通过以下方式声明:
  • 使用let。
  • 使用const。
让:
使用let关键字声明的任何变量都被分配了块作用域。块作用域不过是声明let变量的部分, 无论该变量是函数{}, 块{}还是全局(脚本)。
例如:var v / s let
通过使用var
var x = 100; var x=200; console.log(x);

代码成功执行后, 你将获得以下输出:
输出如下:
200

让我们尝试使用let关键字重新编写以上代码:
通过使用let
let x = 100; let x=200; console.log(x);

输出如下:
SyntaxError: Identifier 'x' has already been declared

成功执行代码后, 你将得到一个错误, 说明标识符” x” 已被声明。因此, 将使用let关键字声明的任何变量分配给块作用域。
const:
ES6提供了一种使用const关键字声明常量的新方法。关键字const创建对该值的只读引用。 const的一些属性如下:
特性:
  • 不能为它重新分配一个值。
  • 它是块作用域的。
  • 常量不能重新声明。
  • 常量必须在声明时进行初始化。
例如:
const y=100y=200 // It will result in an error

输出如下:
TypeError: Assignment to constant variable.

因为常量变量是不可变的并且不能为它重新赋值, 所以它将引发错误。
JavaScript变量范围JavaScript中有两个作用域, 它们是全局和局部的:
  • 全局范围:在全局范围内, 可以从JavaScript代码的任何部分访问变量。
  • 局部作用域:在局部作用域中, 可以在声明变量的函数中访问该变量。
例子:
下面的示例描述了全局和本地范围:
在此示例中, 有两个变量, 一个在函数外部(全局范围), 另一个在函数外部(局部范围)。
var $var12 = 200; function example() {var $var12 = 300; console.log("Inside example() function = "+ $var12); } console.log("Outside example() function = " + $var12); example();

输出如下:
Outside example() function = 200Inside example() function = 300

JavaScript动态键入JavaScript支持动态键入的概念, 类似于python, perl, ruby等。它是一项功能, 你无需告诉JavaScript变量将持有哪种类型的值。如果在程序执行期间更改了变量的值类型, 则会触发该变量, JavaScript会自动进行处理。
ES6和可变吊装提升是JavaScript的默认行为, 它将所有声明移到当前脚本, 当前函数或当前作用域的顶部。它允许你在声明变量之前使用变量。 JavaScript仅提升变量声明, 而不提升变量初始化。
例如:
悬挂了JavaScript声明
x=10; console.log(x); var x;

上面的代码不会给出声明错误, 而是可以成功执行并显示所需的输出。这是由于起重概念而发生的。让我们看看代码处于编译阶段时会发生什么。
【ES6变量介绍和用法示例】当以上代码处于编译阶段时, 它将被视为:
在编译阶段
var x; // declaration of the variable will move on top.x=10; console.log(x);

输出如下:
10

不初始化JavaScript初始化1.在使用变量之前初始化变量
var x=100; var y=200; console.log(x+""+y);

在编译阶段
var x; var y; x=100; y=200; console.log(x+""+y);

输出如下:
100200

二。使用后初始化变量时
var x=100; console.log(x+""+y); var y=200;

让我们看看当此代码处于编译阶段时会发生什么。
编译此代码时, 将按以下方式处理:
在编译阶段
var x; var y; x=100; console.log(x+""+y); y=200;

执行此代码时, 将得到以下输出, 其中y的值未定义。
输出如下:
100undefined

发生这种情况是因为如果使用后进行初始化, 则提升不允许我们在顶部移动变量的初始化。

    推荐阅读