zoukankan      html  css  js  c++  java
  • let和const的区别以及let和var的区别

    在es6中新增了块级作用域。块级作用域由{}包括,if语句和for语句里面的{}也属于块作用域

    let和const都是es6新增的声明方式

    let和const的区别

    let用于声明变量,比如

    let num=1;

    num=2;(这时num的值就变成了2)

    而const用来声明常量,并且声明之后就不能改变

    比如 cosnt pi=3.14;

    补充:

    const obj={a:3};

    obj.a=4;

    我们用const会更好一点,因为const实际上保证的不是变量的值不能改变,而是变量的指向的内存地址不得改变。对于简单的数据(数字,字符串,布尔值),值是保存在变量指向的那个内存地址中,因此也等同于常量。

    但是如果遇到以下情况只能用let

    let obj={a:3};

    obj={a:4}

    let和var的区别

    1.let具有块级作用域,let内声明的变量只在块级作用域内有效。var声明的变量是全局的,

    2.var存在变量提升,前置声明输出的是undefined,而let前置声明会报错,我们称之为暂时性死区,

    3.let不能重复声明同一个变量而var可以,

    4.var声明的变量会挂载到window上,而let声明的变量不会。

  • 相关阅读:
    Socket listen 简要分析
    Socket connect 等简要分析
    HIVE函数大全
    元数据管理
    flume
    shell编程
    数据仓库集锦
    数据库知识
    hive sql 转化mapreduce原理
    Hadoop 学习笔记
  • 原文地址:https://www.cnblogs.com/lmm1010/p/12974522.html
Copyright © 2011-2022 走看看