不同语言中,参数名和类型的位置是不一样的。
比如 java 中是:String name ,先写声明类型,再写变量名。
但在 JavaScript 中是:name:string ,先写变量名,再写类型。
在我看来这两个声明方式完全没任何区别,为什么语言设计者要搞出两种不同的使用方式?
这不是徒增 diff 吗?
|  |      1ferock PRO 所以世界才这么五彩斑斓 | 
|  |      2ferock PRO 为什么要都一样呢?那何必再多个语言呢 | 
|  |      3cmdOptionKana      320 天前 因为 “照顾老习惯” 并非最高优先级。百花齐放,自由地创造反而更重要。 另外要注意,它们不一样,不是故意不一样,而是各自选择了自己认为最合适的方式,有时恰好一致,有时恰好不同,有时恰好大同小异。 | 
|      4NotLongNil      320 天前 name:string 是 TypeScript 的写法吧,我个人猜测采用这种写法是为减轻编译器的实现 | 
|  |      5crysislinux      320 天前 via Android 这个问题是有明确答案的,去问 gpt 吧。 | 
|  |      6panlatent      320 天前 via Android 归根到底还是设计哲学的问题 | 
|      7Leviathann      320 天前 因为 C 是 BS | 
|  |      8yoyoyoyolol      320 天前 via iPhone 故意的,都一样了还有啥区分.就跟 switch 手柄和 xbox 手柄那四个控制键反着来差不多 | 
|  |      9CEBBCAT      320 天前 via iPhone 这个网站目前不接受 AI 生成内容 建议楼主点击“下沉主题”按钮 | 
|  |      10AV1      319 天前 TS 的变量类型是可以省略的,编译器、LSP 可以自动推导。 既然是可省略的东西,应该放在后面,因为相对不那么重要。 另外请不要直接贴 AI 的长篇大论。 | 
|  |      11Perry      319 天前 via iPhone 校服穿惯的学生想法是这样子的 | 
|  |      12cmdOptionKana      319 天前 > 提炼了一个重点:JavaScript 这种语言其实是动态类型的...所以类型被弱化放后面了 虽然但是,静态类型的 Go 也是类型放后面 func f(x string) {} | 
|  |      13glcolof      319 天前  1 最早的时候,底层语言关注的是内存空间,内存空间对应的是类型,变量名只是帮助记忆的符号,所以先确定类型再赋予名字。 高级语言关注的是逻辑,变量是逻辑的一部分,所以先确定变量,后面有需要的时候再赋予类型。 时间长了之后,大家各自养成了习惯,形成了固定的审美倾向,所以也就不管这些了,想类型在前就类型在前,想变量名在前就变量名在前,反正结果都一样。 | 
|      14zhhbstudio      319 天前 众所周之,Javascript 变量没有类型,直接 name = anything 。 name:string 已经是 Flow 或 Typescript 的了,都是得做一次转换才是 Javascript ,转完了也没类型定义了。 | 
|      15zhhbstudio      319 天前 @zhhbstudio #14 众所周知.... | 
|  |      17wanguorui123      319 天前 成熟的人要接受世界的参差不齐 |