当前位置: 首页 > article >正文

ES6-const

一、基本用法

- 语法:
	const 标识符=初始值;
	注意:const一旦声明变量,就必须立即初始化,不能留到以后赋值
- 规则:
	1.const 声明一个只读的常量,一旦声明,常量的值就不能改变
	2.const 其实保证的不是变量的值不变,
	  而是保证变量指向的内存地址所保存的数据不允许改动
  • 重点
		不可变值(相当于常量):简单类型的数据(数值、字符串、布尔值)
		数据结构可变:  复合类型的数据(主要是对象和数组)

二、本质

- const实际上保证的,并不是变量的值不得改动,
  而是变量指向的那个内存地址所保存的数据不得改动。
	1.对于简单类型的数据(数值、字符串、布尔值),
	  值就保存在变量指向的那个内存地址,因此等同于常量。
	2.对于复合类型的数据(主要是对象和数组),
	  变量指向的内存地址,保存的只是一个指向实际数据的指针,
	  const只能保证这个指针是固定的(即总是指向另一个固定的地址),
	  至于它指向的数据结构可变化。

三、示例

1)数组

const arr=[]
console.log(arr) // []
arr.push('wyt')
console.log(arr) //['wyt']

2)对象

//添加name属性
  const obj = {}
  obj.name = "wyt"
  console.log(obj);
  • 冻结对象

    const foo = Object.freeze({});
    // 常规模式时,下面一行不起作用;
    // 严格模式时,该行会报错
    foo.prop = 123;
    

四、规则

- 同let一样(若忘记,可以看ES6-let那篇文章)
	- 同一个作用域内不允许重复声明
	- 不存在变量提升即必须先声明再使用,但是const必须赋初始值
	- 暂时性死区

http://www.kler.cn/a/227017.html

相关文章:

  • 技术栈面试综合整理
  • 基于 Python 的 Web 应用程序的 Web 服务器比较
  • 初识vue3
  • python:lxml 生成思维导图 Freemind(.mm)文件
  • LeetCode 1686. 石子游戏 VI【排序,贪心】【Py3,Go】2000
  • 排队打水问题1(c++题解)
  • 深度解析Go字符串
  • C++基础语法 类 02
  • [349. 两个数组的交集](C语言)(两种解法:双指针+排序,哈希)
  • Qt/C++音视频开发66-音频变速不变调/重采样/提高音量/变速变调/倍速播放/sonic库使用
  • 图论练习1
  • Kotlin-类
  • 异步解耦之RabbitMQ(一)_RabbitMQ 简介
  • Oracle和Mysql数据库
  • 软件行业人才结构分析与个人成长路径探讨
  • 微服务—Docker
  • C++棋类小游戏2
  • 浪漫的通讯录(顺序表篇)
  • 13:Session机制实现用户登录与注销功能-Java Web
  • 【Matplotlib】figure方法之图形的保存