TypeScript入门教程 之 const

TypeScript入门教程 之 const

 

const是ES6 / TypeScript提供的非常受欢迎的功能。它使您可以与变量保持不变。从文档以及运行时的角度来看,这都是很好的。要使用const只需替换varconst

const foo = 123;

与强制用户键入诸如let constant foo变量+行为说明符之类的其他语言相比,该语法要好得多(IMHO)。

 

可读性和可维护性

const在可读性和可维护性方面都是很好的做法,并且避免使用不可思议的文字,例如

// Low readability
if (x > 10) {
}

// Better!
const maxRows = 10;
if (x > maxRows) {
}

 

声明时必须初始化

以下是编译器错误:

const foo = 123;
foo = 456; // ERROR: Left-hand side of an assignment expression cannot be a constant

 

创建后是不可变的

常量在创建后是不可变的,因此,如果尝试将它们分配给新值,则是编译器错误:

const  foo  =  123 ; 
foo  =  456 ;  //错误:赋值表达式的左侧不能为常量

 

块范围

const是块作用域,就像我们用看到的那样let

const foo = 123;
if (true) {
    const foo = 456; // Allowed as its a new variable limited to this `if` block
}

 

深不可变性

const就保护变量引用而言,一个对象文字也可以使用:

const foo = { bar: 123 };
foo = { bar: 456 }; // ERROR : Left hand side of an assignment expression cannot be a constant

但是,它仍然允许对象的子属性发生突变,如下所示:

const foo = { bar: 123 };
foo.bar = 456; // Allowed!
console.log(foo); // { bar: 456 }

 

首选const的情况

始终使用const,除非您打算延迟变量的初始化或进行重新分配(let用于这些情况)。

 

翻译来源:https://gitee.com/yunwisdoms/typescript-book/blob/master/docs/const.md

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值