ホームページ >バックエンド開発 >PHPチュートリアル >最新のプログラミング言語の最も興味深い 10 の機能
情報技術の急速な発展に伴い、ますます多くのプログラミング言語が私たちの生活に登場し続けており、同時にそれは私たちにより多くの仕事の機会を提供しています。プログラミング言語の時代を見てみましょう: Lisp (1958)、Smalltalk (1972)、Objective-C (1984)、Haskell (1990)、OCaml (1996) など。これらはすべて前世紀の言語です。
この記事の編集者は、いくつかの最新言語: Reason、Swift、Kotlin、Dart を調査対象として選択し、10 の機能を要約しました:
1 パイプライン演算子
Reason 構文
let newScore = me.score |> double |> (it) => add(7, it) |> (it) => boundScore(0, 100, it);
対応する JavaScript 記述メソッド :
boundScore(0, 100, add(7, double(me.score)));
そして、es にはすでに対応する提案があります: tc39/proposal-pipeline-operator
2 パターン マッチング
Kotlin 構文
when (x) { in 1..10 -> print("x is in the range") in validNumbers -> print("x is valid") !in 10..20 -> print("x is outside the range") else -> print("none of the above") }
3 言語でのリアクティブ (Rx) プログラミング ビルド
Dart 構文
input.onKeyDown .where((e) => e.ctrlKey && e.code == 'Enter') .forEach((e) => dispatch(addTodoAction(e.target.value)));
4 ラムダ関数のデフォルト パラメーター
Kotlin構文(デフォルトパラメータとして使用)
strings .filter{ it.length == 5 } .map{ it.toUpperCase() }
JavaScriptとの比較
strings .filter{ it => it.length === 5 } .map{ it => it.toUpperCase() }
5 分割 分割
理由構文:
let someInts = (10, 20);let (ten, twenty) = someInts;type person = {name: string, age: int}; let somePerson = {name: "Guy", age: 30};let {name, age} = somePerson;
Kotlin構文
data class Person(val name: String, val age: Int)val(name, age) = Person("Guy", 20)
es6 すでに配列の分割があり、es8はオブジェクトの分割を追加します
6演算子 cascade 演算子
Dart 構文
querySelector('#button') // Get an object. ..text = 'Confirm' // Use its members. ..classes.add('important') ..onClick.listen((e) => dispatch(confirmedAction()));
対応する JavaScript の記述方法
var button = querySelector('#button'); button.text = 'Confirm'; button.classed.add('important'); button.onClick.listen((e) => dispatch(confirmedAction()));
jQuery を使用する場合、基本的に記述方法は Dart と同じですが、両者は根本的に異なります
7 if 式If 式
Kotlin 文法
val result = if (param == 1) { "one"} else if (param == 2) { "two"} else { "three"}
if 表現が好きな人もいますし、嫌いな人もいます。私はそれが大好きです。以前に Zhihu に答えがありました: https://www.zhihu com/questio。 ..
8 式を試す
Kotlin 構文
val result = try { count() } catch (e: ArithmeticEx
ception) { throw IllegalStateException(e)
}
9 自動カリー化
Reason 構文:
let add = (x, y) => x + y; /* same as (x) => (y) => x + y; */let five = add(2,3); /* 5 */let alsoFive = add(2)(3); /* 5 */let addFive = add(5); /* y => 5 + y; */let eleven = addFive(6); /* 11 */let twelve = addFive(7); /* 12 */
10 メソッド拡張 メソッド拡張
Swift 構文:
りーJavaScript はプロトタイプで拡張できます。
もう 1 つ非常に便利な機能、optional-chaining があると思います。言及されていない理由は、ほとんどの言語にすでにこの機能があるためです。JavaScript の開発はまだ少し遅れているようです。
上記は、最新のプログラミング言語の最も興味深い 10 の機能です。皆さんもそれについて何かを知っていただければ幸いです。
関連おすすめ:
今の時代のプログラミング言語トップ10 あなたはどれが好きですか
PHPとは何ですか?プログラミング言語として PHP を学ぶことを選択する理由は何ですか?
以上が最新のプログラミング言語の最も興味深い 10 の機能の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。