美文网首页
ES6--let和const

ES6--let和const

作者: lvyweb | 来源:发表于2021-06-08 06:58 被阅读0次

特点:

let

  1. let声明变量没有变量提升
console.log(a);//Uncaught ReferenceError: Cannot access 'a' before initialization
    let a = 10;
    console.log(a);
  1. 是一个块级作用域
if(1===1){
    let b = 10;
}
console.log(b);//Uncaught ReferenceError: b is not defined
  1. 不能重复声明
    let c = 10;
    let c = 11;
    console.log(c)//Uncaught SyntaxError: Identifier 'c' has already been declared

const

const 声明常量 一旦被声明 无法修改,符合let的特点(没有变量提升,也是块级作用域,不能重复声明)

const max = 30;
console.log(max)//30
max = 40;
console.log(max)//Uncaught TypeError: Assignment to constant variable.
-----------------------------------
const person ={
    name:'小玉米'
}
// 可以这样修改
person.name = "高考";
// 不能这样修改
console.log(person)//{name: "高考"}
person ={
    name:'1212'
} 
// Uncaught TypeError: Assignment to constant variable

作用1 : for循环是个经典的例子

var arr =[];
for(var i = 0; i< 10;i++){
    arr[i] = function(){
        return i ;
    }
}
console.log(arr[5]())//10 


var arr =[];
for(let i = 0; i< 10;i++){
    arr[i] = function(){
        return i ;
    }
}
console.log(arr[5]())//5 

作用2 : 不会污染全局变量

let RegExp = 10;
console.log(RegExp)// 10
console.log(window.RegExp)// RegExp() { [native code] }

建议
在默认情况下用const,而只有在你知道变量值需要被修改的情况建议使用let

相关文章

  • ES6--let和const

    特点: let let声明变量没有变量提升 是一个块级作用域 不能重复声明 const const 声明常量 一旦...

  • ES6--let声明变量,const声明常量

    ECMA2015(也称es6),在原先javascript语法基础上新增语法特征,浏览器对es6的语法支持还不够,...

  • es6--let const 生成器 yield Symbol

    let and constDestructuring 解构赋值Spread and Reset Spre...

  • const

    NSString *const 和 const NSString * 的区别 NSString *const 变量...

  • Boolan-C++面向对象高级编程(下)第二周笔记

    1. const 上表中:由于成员函数的const和非const同时存在,const对象只能调用const成员函数...

  • let和const

    新的赋值语句let和const let和const命令

  • const *和* const的区别

    1.const *是指向常量的指针,不能通过指针修改指针所指的值,但是可以修改指针所指的地址 2.* const ...

  • 底层const和顶层const

    忽略顶层const int *const p1=&i;//不能修改p1;const 是顶层const const ...

  • 顶层const和底层const

    指针是一个对象,占据内存空间,而指针本身可以指向另一个对象,这就导致指针是常量和指针指向的对象是常量是两个不同的概...

  • const int * 和 int * const

    a的const是底层const,修饰的是int,意思是a可以指向别的变量,但a当前指向的变量的值不能通过a改变;b...

网友评论

      本文标题:ES6--let和const

      本文链接:https://www.haomeiwen.com/subject/kzpheltx.html