ES6 |变量
ES6 变量名称称为标识符。命名标识符时要记住的规则。它可以包含字母和数字,但不能是关键字名称,不能以数字开头,也不能包含空格和特殊字符,下划线 (_)和美元 ($)符号除外。
变量初始化:是指在变量中存储一个值的过程。变量初始化可以在使用前的任何时间进行。
有效的语法类型:
var $variable_name1 = value
var variablename1 = value
var nam$e1 = value
var _name$ = value
下面的示例说明了 ES6 变量:
例子:
输出:
The variable is : Geeks
Variable Type : string
动态类型: JavaScript 支持类似于Python、ruby、Perl 等的动态类型。这是一个你不必告诉 JavaScript 变量持有什么类型的值的特性。即使变量值类型在执行时发生更改,它也会被触发并自动处理变量。
JavaScript ES6 中的变量作用域:
- 全局范围:可以从 JavaScript 代码的任何部分访问的变量。
- 局部作用域:可以在声明它的函数内访问的变量。
- 示例:此示例说明全局和本地范围:
输出:
Outside Geeks() = 10 Inside Geeks() = 100
let 和 const:
- const: const声明创建对值的只读引用。
例子:const pi = 3.14 pi = 4.15 // will result in an error!!
在上面,稍后,在代码中,如果我们尝试更改pi值,它只会抛出错误。主要用于数学常数。常量变量是不可变的。
- let:此关键字允许脚本将对变量的访问限制在最近的封闭块中。使用 let 关键字声明的任何变量都被分配了块范围。块作用域是let变量获得声明的部分,无论它是块{} 、函数{}还是全局(脚本),该部分都被限制访问。
例子
let n = 100; let n = 300; console.log(n);// Throw an error: Identifier 'n' has already been declared
ES6 和变量提升:提升允许,在声明之前使用变量。提升的概念适用于变量声明,但不适用于变量初始化。
- 例子:
- 输出:
Hoisted variable(out function) type x : undefined Hoisted variable(globally) type n : string 0 1 2 3 4 Hoisted variable(in function) type x : number Hoisted variable(globally) type n : string
注意:建议始终在其作用域的顶部声明变量,以使代码能够解析变量的作用域。