ES6语法(二)——const的使用

本文介绍了ES6中const关键字的基本用法及其注意事项,包括如何确保数据安全性、定义标识符时必须赋值的规定,以及指向对象不可修改但能改变内部属性的特点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、const关键字

  • 在很多语言中已经存在,比如C/C++中,主要作用是将某个变量修饰为常量。
  • 在JavaScript中也是如此,使用consty修饰的标识符为常量,不可以再次赋值。

2、什么时候使用const呢?

  • 当我们修饰的标识符不会被再次赋值时,就可以使用const来保证数据的安全性。

建议:在ES6开发中,优先使用const,只有需要改变某一个标识符的时候才使用let。

3、const的注意

(1) 一旦给const修饰的标识符被赋值之后,不能修改

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
  <script>
    // 1.注意一: 一旦给const修饰的标识符被赋值之后,不能修改
    // const name = 'tian';
    // 会报错: Uncaught TypeError: Assignment to constant variable. 
    // name = 'kim';
  </script>
</body>
</html>

        执行可以在浏览器中看到报错:Uncaught TypeError: Assignment to constant variable.  

        报错原因是赋值给常量变量。

(2)在使用const定义标识符,必须进行赋值

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
  <script>
    // 2.注意二: 在使用const定义标识符,必须进行赋值
    // var是可以这么写的
    // var name;
    // name = 'abc'
    // 会报错:Uncaught SyntaxError: Missing initializer in const declaration 
    // const age;
    // age = 18;
  </script>
</body>
</html>

        执行可以在浏览器中看到报错:Uncaught SyntaxError: Missing initializer in const declaration 

        报错原因是 const 声明中缺少初始值设定项。

(3)常量的含义是指向的对象不能修改,但是可以改变对象内部的属性

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
  <script>
    // 3.注意三:常量的含义是指向的对象不能修改,但是可以改变对象内部的属性
    const obj = {
      name: 'kim tian',
      age: 18,
      weight: '45kg'
    }
    console.log(obj)
    // 改变的是内部属性,没有改内存地址
    obj.name = 'gay yang';
    obj.age = '30';
    obj.weight = '68kg'
    console.log(obj)
    // 这样就不可以了,因为改变的是内存地址
    // obj = {}
  </script>
</body>
</html>

         从打印结果可以看到,obj里面的属性信息已经成功被改变了,因为内存里面保存的是一个内存地址,而不是一个变量

        但是当改变的是obj,而不是obj里面的属性时会报错。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值