ES6中的关键字 - const
const 关键字
1.声明后的值不可以修改;
const name = "小康哥"; name = "小康"; // 报错,const为constant的缩写,表示常量,即不可改变的量
2.const关键字只在块级作用域起作用;
var flag = true;
if(flag) {
const num = '5211';
}
alert(num); // 报错,在作用域外,未定义num
3.不存在变量提升,必须先声明后使用;
if(true){
alert(xk); // 报错,不存在变量提升,未提前声明
const xk = 'xiaokang';
}
var car = 'BMW';
const car = 'QQ'; // 报错,错误原因:声明了一个已经存在的变量 car
4.不可重复声明同一个变量,声明后必须赋值;
const hello; // 错误,只声明未赋值 const hi = 'xiaokangge';
5.const常量可以是一个对象类型:
const obj = {
"name":"xiaokang"
}
obj.name = "康哥";
obj.age = 18;
// 打印 obj 对象
console.log(obj); // {name:"康哥",age:18}
♦ 传值赋值:在赋值过程中,变量实际上存储的是数据的地址(对数据的引用),而不是原始数据或者数据的拷贝。
// 模拟传址赋值
var zhangsan = {
"car":"black"
}; var lisi = zhangsan; lisi.car = "red"; console.log(zhangsan); // {car:"red"} console.log(lisi); // {car:"red"}
总结:const关键字用于声明一个常量,且声明时必须赋值,声明后不可修改;同let关键字一样,也只是在块级作用域中起作用,不可以重复声明同一个变量,也不会发生变量提升;声明引用类型的常量时,需要注意的是,此时是传址(地址的引用)赋值。
ES6中的关键字 - const的更多相关文章
- es6 中的let,const
在es6中,let的作用和var差不多,都是用来声明变量的,但是他们之间的区别在于作用域不同,大家都知道在js中没有块级作用域,例如: for(var i=0;i<10;i++){ consol ...
- ES6 中 let 和 const 总结
目录 let const 1. let要好好用 1. 基本用法 2. let声明的变量不存在变量提升 3. TDZ(temporal dead zone)暂时性死区 4. 不允许重复声明 2. 块级作 ...
- ES6中class关键字
1 .介绍 //定义类 class Point { constructor(x, y) { this.x = x; this.y = y; } toString() { return '(' + th ...
- 浅谈ES6——ES6中let、const、var三者的区别
在了解let.const.var的区别之前,先了解一些什么是es6 Es6 全称ECMAscript 是JavaScript语言的一个标准,其实Es6本质就是JavaScript的一个版本,为什么叫E ...
- ES6中var/let/const的区别
let的含义及let与var的区别: let 声明的变量只在它所在的代码块有效: 如下: for (let i = 0; i < 10; i++) { console.log(i); } con ...
- ES6 中 let and const
let 和 const 命令 let 命令 基本用法 ES6 新增了let命令,用来声明变量.它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效. { let a = 10; v ...
- ES6中let与const命令详解
阮一峰ES6入门 let 作用域 let命令用来声明变量,但声明的变量只在let命令所在的代码块内有效. { let a = 10; var b = 1; } a // ReferenceError: ...
- ES6中let、const和var的区别
一.let 1.基本用法 ES6 新增了let命令,用来声明变量. let 的用法类似于 var,但所声明的变量只在 let 命令所在的代码块内有效(一个“{}”相当于一个代码块) { let a = ...
- ES6中let和const详解
let和var一样也是用来定义变量,不同之处在于let是块级作用域,只在所定义的块级作用域中生效,一个花括号便是一个块级作用域 {var a="我是var定义的";let b=&q ...
随机推荐
- mysql锁机制总结,以及优化建议
一.锁概述和分类 二.表锁 偏向MyISAM存储引擎,开销小,加锁快:无死锁:锁定粒度大,发生锁冲突的概率最高,并发度最低. [手动增加表锁] lock table 表名字1 read(write), ...
- python机器学习简介
目录 一:学习机器学习原因和能够解决的问题 二:为什么选择python作为机器学习的语言 三:机器学习常用库简介 四:机器学习流程 机器学习是一门多领域交叉学科,涉及概率论.统计学.逼近论.凸分析 ...
- Java开发环境系列:一篇能解决你99%问题的排雷日记
安装 https://archive.apache.org/dist/tomcat/ 推荐使用免安装版的Tomcat(放在没有中文和空格的目录下),前提是已经安装了JDK并配置了环境变量.Linu ...
- ES6的常见语法!!
let : 声明变量 不存在变量提前 拥有局部作用域 (只要有{}出现 则只在该{}范围内生效) (而var只在函数内会产生作用域范围) 不能重复声明 const : 声明常量(常量名从规范上来将 最 ...
- three 3D实例学习
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- 微信小程序开发--flex详细解读(2)
一.align-items和其参数 stretch / baseline 注:sretch只有在交叉轴没有设置固定长度的情况下才有作用 ...
- js,获取字符串中存在中文的个数
var RespMemo='1231231617440C01 心存正义 10'; //定义字符串 re = /[\u4E00-\u9FA5]/g; //测试中文字符的正则 var ...
- mysql 连接数用完,root也无法登陆的处理方法
gdb -p $(pidof mysqld) -ex "set max_connections=1500" -batch 使用 gdb 临时调大 参数 max_connection ...
- Java面试题:HashMap和HashTable的区别
HashMap和HashTable的区别是面试时面试官经常问的问题,在回答的时候可以选择重点做回答,区别主要有下面几点:key和value的取值范围不同HashMap和HashTable都是基于哈希表 ...
- python递归和内置方法
递归:函数调用自身 核心:递进的时候能够达到一个结果,问题规模越来越小(不一定要真正的达到):设置一个条件,能够让最后一次函数调用结束 练习: 第一个人的姓名是16岁,后面每个人的年龄都比前一个大 ...