编程中'let'变量的语义含义

76

所以,我是一名JavaScript程序员,新版本的JavaScript (ES6)有一个用于声明变量的新关键字:let,旁边还有旧的var

我知道这两者之间的区别,但我问自己: let代表什么?var显然是“变量”的缩写,但let呢?它也是一个缩写吗?它来自哪里?

我搜索了一下,惊讶地发现我找不到答案。我已经知道Swift也有let关键字(他们用于常量),但显然其他一些编程语言也在使用它。


33
"let"代表......鼓点声...... let。如果有帮助的话,你可以把let x = 1;理解为“让x等于1”。 - JJJ
5
这是一个英语动词:“let this name be this value”。 - dandavis
4
真的,就这么简单? - ngstschr
37
它代表“莴苣”,因为它把自己的“叶子”留下来…… - dandavis
2
@dandavis - 名人堂评论 :-) - Amit
显示剩余2条评论
1个回答

93

它源自英语单词"let"。

动词:"let","letting"。 1. 允许或许可:

// Hey computer, can you please
let 
// this
night = 'wonderful'

Lisp有一个关键字let,自1958年以来一直存在,尽管它可能来自更早的时期


13
我一直认为编程语言是从数学证明的语言中继承而来的,例如数学证明常常会说“设 x 为一个整数……” - Jordan Running
2
@Jordan,这完全是可能的。你会在函数式编程语言中发现更多使用let,这些语言建立在代数类型和范畴论之上。 - azium
3
我一直认为它更像是“让关键词night等于'wonderful'”,但这可能只是我的看法。 - user4639281
2
@Jordan 我在这里找到了一个例子:https://en.wikipedia.org/wiki/Mathematical_proof#Proof_by_mathematical_induction - ngstschr

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接