这是我参与8月更文挑战的第8天,活动详情查看:8月更文挑战
let
和const
是JavaScript里相对较新的变量声明方式 。 像我们之前提到过的, let
在很多方面与var
是相似的,但是可以帮助大家避免在JavaScript里常见一些问题。 const
是对let
的一个增强,它能阻止对一个变量再次赋值。
因为TypeScript是JavaScript的超集,所以它本身就支持let
和const
。 后面我们会详细说明这些新的声明方式以及为什么推荐使用它们来代替 var
。
var 声明
我们可以定义一个名为a
值为25
的变量;
var a = 25;
也可以在函数内部定义变量:
function f() {
var message = "Hello, world!";
return message;
}
我们也可以在其它函数内部访问相同的变量
function f() {
var a = 25;
return function g() {
var b = a + 30;
return b;
}
}
var g = f();
g(); // returns 55;
let
声明
现在你已经知道了var
存在一些问题,这恰好说明了为什么用let
语句来声明变量。 除了名字不同外, let
与var
的写法一致。**
let name = "liming";
function f(input: boolean) {
let a = 100;
if (input) {
// Still okay to reference 'a'
let b = a + 1;
return b;
}
// Error: 'b' doesn't exist here
return b;
}
const声明
const
声明是声明变量的另一种方式,它与let
声明相似,但是就像它的名字所表达的,它们被赋值后不能再改变。 换句话说,它们拥有与 let
相同的作用域规则,但是不能对它们重新赋值。即他是个固定值
const a = 9;
const b = {
name: "Lisa",
numLives: a,
}
// Error
b = {
name: "Roman",
numLives: a
};
// all "okay"
b.name = "Robin";
b.name = "Danny";
b.name = "Dog";
b.numLives--;
结语
** let
vs. const
**
现在我们有两种作用域相似的声明方式,我们自然会问到底应该使用哪个。 与大多数泛泛的问题一样,答案是:依情况而定。
使用最小特权原则,所有变量除了你计划去修改的都应该使用const
。 基本原则就是如果一个变量不需要对它写入,那么其它使用这些代码的人也不能够写入它们,并且要思考为什么会需要对这些变量重新赋值。 使用 const
也可以让我们更容易的推测数据的流动。
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!