ホームページ  >  記事  >  バックエンド開発  >  最新のプログラミング言語の最も興味深い 10 の機能

最新のプログラミング言語の最も興味深い 10 の機能

小云云
小云云オリジナル
2017-11-16 10:39:111448ブラウズ

情報技術の急速な発展に伴い、ますます多くのプログラミング言語が私たちの生活に登場し続けており、同時にそれは私たちにより多くの仕事の機会を提供しています。プログラミング言語の時代を見てみましょう: 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 あなたはどれが好きですか

2017年9月のTIOBEプログラミング言語ランキング

PHPとは何ですか?プログラミング言語として PHP を学ぶことを選択する理由は何ですか?

以上が最新のプログラミング言語の最も興味深い 10 の機能の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。