阅读:6349回复:1
Vue 之 const命令
const声明一个只读的常量。一旦声明,常量的值就不能改变。
对于const来说,只声明不赋值,也会报错。 const的作用域与let命令相同:只在声明所在的块级作用域内有效。 const PI = 3.1415; PI // 3.1415 PI = 3; // TypeError: Assignment to constant variable. |
|
沙发#
发布于:2020-03-15 23:19
const a = []; a.push('Hello'); // 可执行 a.length = 0; // 可执行 a = ['Dave']; // 报错 上面代码中,常量a是一个数组,这个数组本身是可写的,但是如果将另一个数组赋值给a,就会报错。 如果真的想将对象冻结,应该使用Object.freeze方法 const foo = Object.freeze({}); // 常规模式时,下面一行不起作用; // 严格模式时,该行会报错 foo.prop = 123; 上面代码中,常量foo指向一个冻结的对象,所以添加新属性不起作用,严格模式时还会报错。 除了将对象本身冻结,对象的属性也应该冻结。下面是一个将对象彻底冻结的函数。 ar constantize = (obj) => { Object.freeze(obj); Object.keys(obj).forEach( (key, i) => { if ( typeof obj[key] === 'object' ) { constantize( obj[key] ); } }); }; ES6 声明变量的六种方法 ES5 只有两种声明变量的方法:var命令和function命令。ES6 除了添加let和const命令,后面章节还会提到,另外两种声明变量的方法:import命令和class命令。所以,ES6 一共有 6 种声明变量的方法。 |
|