有人问为什么不是 JavaScript,因为它是脚本语言,没有类型系统等,完全没法儿跟 Swift 比较。
本人前端开发,对 C、Java、Python 语言仅限入门了解水平,而对 TypeScript(以下简称 TS) 的特性和使用达到了高级水平(自认),因此有些让我震惊的点,可能在各位眼中感觉「只不过是平平无奇的语言特性罢了」,亦或者「莫非设计 TypeScript 的人是天才?」。
本人不一定会对所有 Swift 中与 TS 有差异的地方强行震惊,因为有些 Swift 跟 TS 的差异是因为 TS 的自身不足,且有些设计在计算机语言中司空见惯(如数字区分 Int 和 Double 而不是只有一种 Number 类型),只是 JS 的设计让人震惊(毕竟是一周内赶工设计出来的),而不是 Swift。
本人认为:如果一个语言规则太多、特例太多、保留字太多,那就不是一门好语言。
本文按照 Swift 官方语言介绍的顺序进行有序震惊,省略了不震惊或者不懂的的内容,如 附加宏
。
震惊点:XCode 没有
/** */
块注释快捷键,只有cmd + /
的行注释。
VSCode 的块注释快捷键也比较难按,是 Alt + Shift + A
,难道大家都不常用这个功能?
当然,VSCode 和 XCode 中,都可以通过按 /**
后回车,自动生成块注释。
震惊点:我调试的时候想在
if
写一个始终为true
的值测试用都不行,if
语句的可选绑定,必须是一个可选类型的值。
if let a = 2 { } // 错误!
有必要这样?
震惊点:数组方法中,有个
sort
表示原地排序,还有一个sorted
返回新数组。
一个语言,干了框架干的活儿,很好,很符合苹果的风格,诸如此类的还有很多,就不一一震惊了。