UnityScript与Javascript的区别

4

我知道这些语言之间有区别,例如类等。

我想知道的是:如果UnityScript与Javascript不同,为什么Unity3D文档在查看时给你选择C#和JS的选项?难道不应该选择C#和US吗?

与此同时,在Stack Overflow上,人们通常会努力纠正那些称其为Javascript的人。为什么呢?


1
JS和US有足够的差异,因此在提问时区分它们非常重要。否则,当对方回答与您实际使用的内容不兼容时,您可能会浪费别人的时间。另一方面,在Unity网站上没有混淆的危险,因为从上下文中很明显他们总是在谈论Unity,而不是非Unity JavaScript。 - JJJ
因为我仍在努力理解这里的所有差异,并忘记了Java标签是无关紧要的。我并不知道关于编程的每一件事情,所以我仍在掌握基本差异。如果我能在某个地方找到答案,我甚至不会发布这个问题。 - AndyNoYume
@Juhana 谢谢,这就是我想知道的全部内容。可惜我不得不浪费一些声望来弄清楚,但我想这是值得的,因为我这样做是为了更好地理解并在未来能够更好地贡献于此。 - AndyNoYume
1
我认为这个问题不应该被关闭。在Unity术语的使用背景下,这是一个有效的问题,而且历史上一直存在混淆。 - Ghopper21
我已经编辑了问题并投票要求重新开放。 - Ghopper21
@Ghopper21 我同意。我认为Unity继续在其专有脚本语言中使用“javascript”这个术语令人震惊,即使是在新版本5发布后。 - EleventyOne
2个回答

6
Unity使用一种自定义的JavaScript变体,也称为UnityScript,历史上并且至今通常(但不一致地)将其称为“JavaScript”,包括在其自己的脚本文档中,但从编程世界的角度来看,“JavaScript”的含义是不正确的。 UnityScript绝对不是JavaScript,它们是具有根本差异的不兼容语言。从严格正确性的角度来看,是的,Unity应该在其文档中使用“UnityScript”。在Unity社区内部,错误的用法并不成问题,其中假定“JavaScript”表示Unity使用的JavaScript。实际上,使用术语“UnityScript”可能会在Unity社区内部造成混淆,因为术语“JavaScript”已经被广泛使用,并且许多Unity社区内的非程序员甚至没有意识到Unity实际上正在使用变体JavaScript,而不是实际的JavaScript。然而,在Unity社区之外,包括在Stack Overflow上,使用术语“JavaScript”来表示除实际JavaScript以外的任何内容都会造成混淆,这就是为什么在这里说“UnityScript”很重要的原因。

顺便提一下,Unity 在保持一致性方面并不一致,这在 Unity 社区内外都可能会造成混淆。在其 5 版本的发布说明 中,它交替使用了“JavaScript”和“UnityScript”。在一篇关于重要脚本更改的博客文章中,它使用了“UnityScript-aka-Javascript”这个术语。


非常感谢,这个答案非常有启发性,也是我所需要的。作为一名初学者程序员和 Stack Overflow 的新用户,当人们在发布后几秒钟内开始纠正这些术语时,很快就会变得混乱。 - AndyNoYume

0

引用Juhana的话,感谢您的回答。

JS和US有足够的差异,因此在提问时区分它们非常重要。否则,当别人的答案与您实际使用的内容不兼容时,您可能会浪费他们的时间。另一方面,在Unity网站上,不存在混淆的危险,因为从上下文中很明显,他们总是在谈论Unity,而不是非Unity JavaScript。


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