• 了解es6变量声明,这一篇就够了!


    变量声明(let, const)

    • let
      1.特点:
      (1)let声明的变量具有块级作用域(只在所处的块级内有效)
      代码块
     if (true) {
                let a = 10;
                var b = 20;
            }
            console.log(b);
            console.log(a);
    

    结果
    在这里插入图片描述
    (2)不存在变量提升
    代码块

     console.log(a);
     let a = 20;
    

    结果
    在这里插入图片描述
    (3)具有暂时性死区的特性
    代码块

    var num = 20;
            if (true) {
                console.log(num);
                let num = 50;
            }
    

    结果
    在这里插入图片描述
    2.优点
    (1)在业务逻辑比较复杂的时候,能够防止内层变量覆盖外层变量
    (2)防止循环变量变成全局变量
    eg:
    循环变量变成全局变量

     for (var i = 0; i < 3; i++) {}
         console.log(i);
    

    在这里插入图片描述
    使用let变量声明

    for (let i = 0; i < 3; i++) {}
            console.log(i);
    

    在这里插入图片描述
    对于特点(2)变量提升浅谈一下
    1.javascript代码执行分为:预解析,代码执行(按照代码书写顺序从上往下执行)
    2.预解析分为:变量提升,函数提升
    3.变量提升就是把所有的变量声明提升到当前作用域的最前面,不提升赋值操作
    变量提升栗子:

     console.log(a);
            var a = 30;
            // 预解析后---------(分界线)
            //var a;
            //console.log(a);
            //a = 30;
    

    在这里插入图片描述

    • const
      作用:声明常量,常量就是指(内存地址),不能变的量
      1.特点
      (1)具有块级作用域(同上略)
      (2)声明常量时必须赋值
      代码块
     //const声明常量时必须赋值
            const P;
    

    结果
    在这里插入图片描述
    (3)常量赋值后,值不能修改
    +对于基本数据类型来讲,一旦赋值,值不可更改(数值or字符串)
    +对于复杂数据类型来讲,不能重新赋值(内存地址不可改变),但是可以更改数据结构内部的值(数组or对象)
    eg:
    基本数据类型

    //常量赋值后,值不能修改
            const p = 10;
            p = 100;
    

    在这里插入图片描述
    复杂数据类型

    const arr = [1, 2];
            arr[0] = 'a';
            arr[1] = 'b';
            console.log(arr);
    

    在这里插入图片描述

    综上对var let const 三种变量声明做个总结
    在这里插入图片描述
    哈哈哈(懒~~)

    OVER 加油各位

  • 相关阅读:
    021.NET5_Autofac多种注入方式
    020.NET5_Autofac初识
    018-019 NET5_内置容器支持依赖注入+IServiceCollection的生命周期
    017.NET5_内置容器基本使用
    设计库和表从哪些方面考虑(MYSQL)
    MD5的如何加密空字符串的(PHP)
    Think php 5登陆注册session储存
    think php 5(命令行)创建控制器、model
    PHP面试题(个人总结)————(暂不更新)
    PHP中的curl库使用
  • 原文地址:https://www.cnblogs.com/Jdoit-CW/p/es6-variable-isok.html
Copyright © 2020-2023  润新知