const 的用法
在公司初次学习react,记录一点学习成果
const 概念
const 用于声明一个或多个常量,声明时必须进行初始化,且初始化后值不可再修改;
const 几种用法
可以参照 菜鸟教程.
用法一:
const PI = 3.141592653589793;
PI = 3.14; // 报错
PI = PI + 10; // 报错
const 声明的常量必须初始化
const 的本质: const 定义的变量并非常量,并非不可变,它定义了一个常量引用一个值。使用 const 定义的对象或者数组,其实是可变的。下面的代码并不会报错:
// 创建常量对象
const car = {type:"Fiat", model:"500", color:"white"};
// 修改属性:
car.color = "red";
// 添加属性
car.owner = "Johnson";
在相同的作用域或块级作用域中,不能使用 const 关键字来重置 const 关键字声明的变量:
const x = 2; // 合法
const x = 3; // 不合法
x = 3; // 不合法
var x = 3; // 不合法
let x = 3; // 不合法
{
const x = 2; // 合法
const x = 3; // 不合法
x = 3; // 不合法
var x = 3; // 不合法
let x = 3; // 不合法
}
用法二:
比如:
const { dataSource } = this.props;
const dataSource = this.props.dataSource;
//两者作用相等
可以参照 解构赋值.
通过提供有效的替代标识符,解构可以与不是有效的JavaScript标识符的属性名称一起使用。
const foo = { 'fizz-buzz': true };
const { 'fizz-buzz': fizzBuzz } = foo;
console.log(fizzBuzz); // "true"
解构对象时会查找原型链(如果属性不在对象自身,将从原型链中查找)
// 声明对象 和 自身 self 属性
var obj = {self: '123'};
// 在原型链中定义一个属性 prot
obj.__proto__.prot = '456';
// test
const {self, prot} = obj;
// self "123"
// prot "456"(访问到了原型链)