一、基本用法

const命令是用来声明一个只读的常量,这个值不会变。

const声明常量与let一样,不可重复声明。

二、本质(我困惑的地方)

const实际上保证的并不是变量的值不可以改动,而是变量指向的内存地址不可改动。

对于简单类型的数据,比如数值、字符串、布尔等,值就保存在变量指向的内存地址中,因此等于常量。但是对于复合类型数据,比如对象和数组,变量指向的内存地址保存的是一个指针,const只保证指针是固定的,对于它指向的数据结构是不能变的。

所以,conse如果定义一个常量,定以后就不能变的,如果是引用类型,那么就能改变它的属性。

const foo={};
foo.pro=123;
console.log(foo.pro);//123
//以下也不会报错
const arr=[];
arr.push("hi~"); 

最后,ES5只有var命令和function命令两种方式来声明变量。ES6扩展了let、const、import和class四种方法。

const命令的更多相关文章

  1. es6学习笔记(1) let和const命令详解

    let和const命令: Es6新增了let命令,声明变量,但与var不一样的,只在let命令所在的代码块内有效(如for循环之外let声明的变量就不再有效).并且let不像var那样会发生" ...

  2. let和const命令//////////////////////z

    let和const命令 let命令 块级作用域 const命令 全局对象的属性 let命令 基本用法 ES6新增了let命令,用来声明变量.它的用法类似于var,但是所声明的变量,只在let命令所在的 ...

  3. ES6之let(理解闭包)和const命令

    ES6之let(理解闭包)和const命令 最近做项目的过程中,使用到了ES6,因为之前很少接触,所以使用起来还不够熟悉.因此购买了阮一峰老师的ES6标准入门,在此感谢阮一峰老师的著作. 我们知道,E ...

  4. ECMAScript 6入门 - let和const命令

    详细学习链接: http://es6.ruanyifeng.com/#docs/let let命令 基本用法 ES6新增了let命令,用来声明变量.它的用法类似于var,但是所声明的变量,只在let命 ...

  5. ES6 入门系列 - let 和 const 命令

    let命令 基本用法 ES6新增了let命令,用来声明变量.它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效. { let a = ; ; } a // ReferenceEr ...

  6. ES6 之 let和const命令 Symbol Promise对象

    ECMAScript 6入门 ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准,已经在2015年6月正式发布了. (2016年6月,发布了小幅修订的<ECMASc ...

  7. ECMAScript6-let和const命令

    ▓▓▓▓▓▓ 大致介绍 ES6是下一代的JavaScript语言的标准,目标是让JavaScript可以用来编写大型的复杂程序,成为企业级开发语言,要查看浏览器对ES6的支持程度可以用阮一峰大佬写的工 ...

  8. ECMAScript6-let与const命令详解

    前言 <ECMAScript入门>是一本开源的JavaScript语言教程,全面介绍ECMAScript6新引入的语法特性. let和const命令,是第一章开始介绍,也是比较基础的知识. ...

  9. let和const命令

    let命令 1.let用来声明变量,类似于var,但只在代码块内有效. { let a = 1; var b = 2; } console.log(a); //a is not defined con ...

  10. ECMAScript 6 第一天 let和const命令

    ES6新增声明变量的方法let命令,const命令. (ES5只有两种声明变量的方法:var 命令和 function 命令.) let命令,用来声明变量. 与var声明变量不同于: 1.  let声 ...

随机推荐

  1. Entity Framework 查漏补缺 (三)

    Code First的数据库映射 有两种方式来实现数据库映射: 数据属性:Data Annotation 映射配置: Fluent API 有继承关系的实体如何映射? Code First在生成数据库 ...

  2. Flink从入门到放弃(入门篇2)-本地环境搭建&构建第一个Flink应用

    戳更多文章: 1-Flink入门 2-本地环境搭建&构建第一个Flink应用 3-DataSet API 4-DataSteam API 5-集群部署 6-分布式缓存 7-重启策略 8-Fli ...

  3. MySQL 笔记整理(16) --“order by”是怎么工作的?

    笔记记录自林晓斌(丁奇)老师的<MySQL实战45讲> (本篇内图片均来自丁奇老师的讲解,如有侵权,请联系我删除) 16) --“order by”是怎么工作的? 在林老师的课程中,第15 ...

  4. ajax验证用户名是否存在

    jsp页面 <head> <script type="text/javascript" src="js/register.js">< ...

  5. Django之CSRF跨站请求伪造(老掉牙的钓鱼网站模拟)

    首先这是一个测试的代码 请先在setting页面进行下面操作 注释完成后,开始模拟钓鱼网站的跨站请求伪造操作: 前端代码: <!DOCTYPE html> <html lang=&q ...

  6. Web前端-Ajax基础技术(上)

    Web前端-Ajax基础技术(上) ajax是浏览器提供一套的api,用于向服务器发出请求,接受服务端返回的响应,通过javascript调用,实现通过代码控制请求与响应,实现网络编程. ajax发送 ...

  7. H5、C3、ES6的新特性

    H5的新特性 1.语义化标签 有利于SEO,有助于爬虫抓取更多的有效信息,爬虫是依赖于标签来确定上下文和各个关键字的权重. 语义化的HTML在没有CSS的情况下也能呈现较好的内容结构与代码结构 方便其 ...

  8. RFID NFC

    RFID 和 NFC 的区别: ()NFC与RFID在物理层面看上去很相似,但实际上是两个完全不同的领域,因为RFID本质上属于识别技术,而NFC属于通信技术. ()NFC将非接触读卡器.非接触卡和点 ...

  9. FreeNas搭建踩坑指南(一)

    0x00 背景 最近公司的旧群晖服务器Raid6,因为同时坏了两块硬盘存储池损毁,所以领导决定买了Dell R730自己搭NAS,选来选去最后选了FreeNAS,这里记录一些踩过的坑. 0x01 问题 ...

  10. 前端开发之基础知识-HTML(一)

    1.1 html概述和基本结构 html概述 HTML是 HyperText Mark-up Language 的首字母简写,意思是超文本标记语言,超文本指的是超链接,标记指的是标签,是一种用来制作网 ...