欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ES6之let和const

程序员文章站 2023-12-22 14:24:16
...

一、let

let也是定义变量的一种声明方式,但是和var又有不同,主要记住下边4个注意点就行啦!

  • 统一块级作用域,不允许重复声明一个变量
var a = 1;
let a = 2;
console.log(a);  //报错
  • 函数内不能用let重新声明函数的参数
function foo(a, b){
  let b = 0;
  return a+b;
}
foo(1,2);  //报错
  • 只在let命令所在代码块内有效
for(let i = 0;i< 5;i++){
  console.log(i);  //0,1,2,3,4
}
console.log(i); // 报错 i is not defined
  • 用let声明变量没有变量提升的作用
~function(){
  console.log(a);  // 报错 a is not defined
  let a = 1;
}();

二、const

var 和 let 是用来定义变量的,而 const 是用来定义常量的。常量,就是固定不变的量。

  • 用const定义一次后就不能再定义。
const a = 1;
const a = 2;  //报错,不能重复定义一个常量
  • 也不能进行修改:
const a = 1;
a = 3;  //报错
  • 只能在同一块级作用域中起作用
if(true){
  const a = 1;
  console.log(a);  // 1
}
console.log(a);  // 报错
  • 不能只声明不赋值
const a;  //报错
  • const也可以声明一个对象
const obj = {
  name: 'zzq',
  age: 12
}
console.log(obj);  // { name: 'zzq', age: 12 }

留一个供大家思考的问题,既然 const 可以定义对象,那么试着修改对象的属性,你发现了什么?

最后,跟大家分享一下我的个人博客地址:http://javascript404.com

上一篇:

下一篇: