Ten interesting features from various modern languages
阅读时间大概 2 分钟
如今大多数“现代”语言都依然使用老旧的 C-style 语法。
我们看一下编程语言的年代:Lisp (1958)、Smalltalk (1972)、Objective-C (1984)、Haskell (1990)、OCaml (1996)、等等。这些都是上个世纪的语言了。
本文作者选择了几个最新的语言:Reason、Swift、Kotlin、Dart 作为研究对象,总结了 10 个特性:
1 管道操作符 Pipeline operator
Reason 语法
对应的 JavaScript 写法:
而 es 也已经有了对应的提案:tc39/proposal-pipeline-operator
2 模式匹配 Pattern matching
Kotlin 语法
3 Reactive (Rx) programming build in the language
Dart 语法
4 lambda 函数的默认参数
Kotlin 语法(使用 作为默认参数)
对比 JavaScript
5 解构 Destructuring
Reason 语法:
Kotlin 语法
es6 已经有了数组解构,es8 增加了对象解构
6 操作符级联 Cascade operator
Dart 语法
对应的 JavaScript 写法
如果使用 jQuery 基本在写法上就和 dart 一致了,但是两者有本质的不同
7 if 表达式 If expressions
Kotlin 语法
对于 if 表达式有人喜欢,有人讨厌,有人觉得无所谓;我是非常喜欢的,我之前在知乎有个回答:https://www.zhihu.com/question/55866176/answer/149009695
8 Try expressions
Kotlin 语法
9 自动科里化 Automatic currying
Reason 语法:
10 方法扩展 Method extensions
Swift 语法:
JavaScript 可以在原型上扩展。
我觉得还有要给非常有用的特性,optional-chaining。之所以没有提到,是因为大多数语言都已经有这个特性了吧,看来 JavaScript 还是发展太慢啊。。。
领取专属 10元无门槛券
私享最新 技术干货