为什么JavaScript保留Java关键字?

时间:2011-01-31 19:42:54

标签: javascript history language-design reserved-words

如您所知,JavaScript保留了所有Java关键字。有谁知道为什么? JavaScript不鼓励使用这些Java关键字,但在用作标识符时它们似乎可以正常工作。

4 个答案:

答案 0 :(得分:4)

故事是,当他们开发JavaScript时(最初称为Oak,我相信(显然,我将这些语言混淆了之前关于它原始名称的陈述是不正确的。)),Netscape与Sun合作开发它。为了吸引Java社区,他们希望像Java一样制作JavaScript,这样Java开发人员就会觉得它更加舒适,这也是他们如此相似的原因。

设计一种语言时你必须记住的是,你真的只能定义一个关键词,而没有新版本的语言破坏现有代码。在开头保留一个单词并且不使用它比尝试稍后保留它要容易得多。对于像JavaScript这样的东西尤其如此,开发脚本的人无法控制它将在哪个浏览器中运行(现在我知道这发生了,但可能会更糟)。您能想象一下,发现新浏览器采用的下一个版本的JavaScript突然无法运行您的应用程序会有多么令人讨厌,因为他们保留了一个新的关键字吗?

答案 1 :(得分:4)

嗯,它实际上不是Java关键字,因为除了借用名称之外,Javascript与Java没有任何关系。

保留这些名称是为了在将来扩展该语言时需要它们。来自ECMAScript Language Specification

  

“以下字词用作   建议的扩展和关键字   因此保留允许   未来采用的可能性   那些扩展......“

答案 2 :(得分:3)

可能避免使用这些关键字作为变量名称可能导致的混淆。

我的意思是,想象一下,Java开发人员试图找出一个带有变量或名为public的函数的JavaScript代码。

即使有可能,为了清楚起见,我也会反对它。

答案 3 :(得分:3)

据推测,JavaScript的开发人员认为这些单词可能会在未来的JavaScript版本中用于其他功能。为防止向后兼容性问题,这些词语被抢先标记为保留。