本篇文章给大家带来了关于javascript的相关知识,其中主要介绍了关于使用const声明常量的相关问题,const 用于声明一个或多个常量,声明时必须进行初始化,且初始化后值不可再修改,下面一起来看一下,希望对大家有帮助。
【相关推荐:javascript视频教程、web前端】
const 用于声明一个或多个常量,声明时必须进行初始化,且初始化后值不可再修改。
const 声明常量
const定义常量与使用let 定义的变量相似:
- 二者都是块级作用域
- 都不能和它所在作用域内的其他变量或函数拥有相同的名称
两者还有以下两点区别:
- const声明的常量必须初始化,而let声明的变量不用
- const 定义常量的值不能通过再赋值修改,也不能再次声明。而 let 定义的变量值可以修改。
块级作用域
const定义常量也有块级作用域
var a = 10; const x = 'world'; if (a > 0){ const x = 'hello'; console.log(x); // 这里输出 x 为 hello } console.log(x); // 这里输出 x 为 world
登录后复制
不能和它所在作用域内的其他变量或函数拥有相同的名称
{ var x = 'world'; const x = 'hello'; // 报错 }
登录后复制
初始化
const声明的常量必须初始化,而let声明的变量不用
// 错误写法 const PI; PI = 3.14
登录后复制
以下是正确写法,声明的同时赋值
// 正确写法 const PI = 3.14;
登录后复制
初始化后值不可再修改
const PI = 3.14; PI = PI + 1; // 报错
登录后复制
并非真正的常量
使用 const 定义的字符串和数字类型是不可变的,当定义一个对象或数组时,里面的内容是可以修改的。
const 定义对象修改属性
const 定义对象可以修改属性
const person = { name: "yoyo", age: 20, }; person.name = 'hello'; person.age = 30; console.log(person.name); // hello console.log(person.age); // age
登录后复制
但是不能给对象重新赋值
const person = { name: "yoyo", age: 20, }; person = {name: 'xx', age: 23}; // 报错
登录后复制
const 定义数组修改成员
const 定义数组可以修改成员的值
const a = ['hello', 'world']; // 修改元素 a[0] = "yoyo"; console.log(a); // ['yoyo', 'world'] a.shift('12'); console.log(a); // ['world'] a.unshift('xx'); console.log(a); // ['xx', 'world'] a.push('yy'); console.log(a); // ['xx', 'world', 'yy']
登录后复制
同样不能对常量数组重新赋值:
const a = ['hello', 'world']; a = ['x', 'y']; // 报错
登录后复制
总结:常量就是值(内存地址)不能变化的量,const定义常用需给初始值。
【相关推荐:javascript视频教程、web前端】
以上就是JavaScript学习之使用const声明常量的详细内容,更多请关注Work网其它相关文章!