Heim > Artikel > Backend-Entwicklung > Die 10 interessantesten Features moderner Programmiersprachen
Mit der rasanten Entwicklung der Informationstechnologie tauchen immer mehr Programmiersprachen in unserem Leben auf und bieten uns gleichzeitig auch mehr Beschäftigungsmöglichkeiten. Schauen wir uns das Zeitalter der Programmiersprachen an: Lisp (1958), Smalltalk (1972), Objective-C (1984), Haskell (1990), OCaml (1996) usw. Das sind alles Sprachen aus dem letzten Jahrhundert.
Der Herausgeber dieses Artikels hat mehrere aktuelle Sprachen ausgewählt: Reason, Swift, Kotlin, Dart als Forschungsobjekte und 10 Funktionen zusammengefasst:
1 Pipeline-Betreiber
Grundsyntax
let newScore = me.score |> double |> (it) => add(7, it) |> (it) => boundScore(0, 100, it);
Die entsprechende JavaScript-Schreibmethode:
boundScore(0, 100, add(7, double(me.score)));
Und es hat bereits einen entsprechenden Vorschlag: tc39/proposal-pipeline-operator
2 Mustervergleich
Kotlin-Syntax
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 Reaktive (Rx)-Programmierung in der Sprache erstellt
Dart-Syntax
input.onKeyDown .where((e) => e.ctrlKey && e.code == 'Enter') .forEach((e) => dispatch(addTodoAction(e.target.value)));
4 Standardparameter der Lambda-Funktion
Kotlin-Syntax (als Standardparameter verwenden)
strings .filter{ it.length == 5 } .map{ it.toUpperCase() }
Vergleich mit JavaScript
strings .filter{ it => it.length === 5 } .map{ it => it.toUpperCase() }
5 Destrukturierung
Grundsyntax:
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-Syntax
data class Person(val name: String, val age: Int)val(name, age) = Person("Guy", 20)
es6 verfügt bereits über Array-Destrukturierung, es8 fügt Objekt-Destrukturierung hinzu
Kaskadenoperator mit 6 Operatoren
Dart-Syntax
querySelector('#button') // Get an object. ..text = 'Confirm' // Use its members. ..classes.add('important') ..onClick.listen((e) => dispatch(confirmedAction()));
Entsprechende JavaScript-Schreibmethode
var button = querySelector('#button'); button.text = 'Confirm'; button.classed.add('important'); button.onClick.listen((e) => dispatch(confirmedAction()));
Wenn Sie jQuery verwenden, ist die Schreibmethode im Grunde die gleiche wie bei Dart, aber die beiden unterscheiden sich grundlegend
7 wenn AusdrückeWenn Ausdrücke
Kotlin-Syntax
val result = if (param == 1) { "one"} else if (param == 2) { "two"} else { "three"}
Denn wenn Ausdrücke manche Leute mögen, manche Leute hassen sie und manche denken, dass es egal ist; Antwort vorher auf Zhihu: https://www.zhihu.com/questio...
8 Ausdrücke ausprobieren
Kotlin-Syntax
val result = try { count() } catch (e: ArithmeticEx
ception) { throw IllegalStateException (e)
}
9 Automatisches Currying
Grundsyntax:
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 Methodenerweiterungen
Swift-Syntax:
extension Int { func repetitions(task: () -> Void) { for _ in 0..<self { task() } } }3.repetitions({ print("Hello!") })// Hello!// Hello!// Hello!
JavaScript kann auf Prototypen erweitert werden.
Ich denke, es gibt auch eine sehr nützliche Funktion, die optionale Verkettung. Der Grund, warum es nicht erwähnt wird, liegt darin, dass die meisten Sprachen bereits über diese Funktion verfügen. Es scheint, dass die Entwicklung von JavaScript noch etwas langsam ist.
Die oben genannten sind die 10 interessantesten Funktionen moderner Programmiersprachen. Ich hoffe, Sie können sie verstehen.
Verwandte Empfehlungen:
Die zehn besten Programmiersprachen von heute, die Ihnen gefallen
TIOBE-Programmiersprachenranking im September 2017
Was ist PHP? Warum sollten Sie PHP als Programmiersprache lernen?
Das obige ist der detaillierte Inhalt vonDie 10 interessantesten Features moderner Programmiersprachen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!