📜  ES6 |变量

📅  最后修改于: 2022-05-13 01:58:10.274000             🧑  作者: Mango

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
    

注意:建议始终在其作用域的顶部声明变量,以使代码能够解析变量的作用域。