Die 10 interessantesten Features moderner Programmiersprachen

小云云
Freigeben: 2023-03-17 15:14:01
Original
1499 Leute haben es durchsucht

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);
Nach dem Login kopieren

Die entsprechende JavaScript-Schreibmethode:

boundScore(0, 100, add(7, double(me.score)));
Nach dem Login kopieren

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")
}
Nach dem Login kopieren

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)));
Nach dem Login kopieren

4 Standardparameter der Lambda-Funktion

Kotlin-Syntax (als Standardparameter verwenden)

strings
  .filter{ it.length == 5 }
  .map{ it.toUpperCase() }
Nach dem Login kopieren

Vergleich mit JavaScript

strings
  .filter{ it => it.length === 5 }
  .map{ it => it.toUpperCase() }
Nach dem Login kopieren

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;
Nach dem Login kopieren

Kotlin-Syntax

data class Person(val name: String, val age: Int)val(name, age) = Person("Guy", 20)
Nach dem Login kopieren

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()));
Nach dem Login kopieren

Entsprechende JavaScript-Schreibmethode

var button = querySelector('#button');
button.text = 'Confirm';
button.classed.add('important');
button.onClick.listen((e) => dispatch(confirmedAction()));
Nach dem Login kopieren

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"}
Nach dem Login kopieren

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
Nach dem Login kopieren

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 */
Nach dem Login kopieren

10 Methodenerweiterungen

Swift-Syntax:

extension Int {    func repetitions(task: () -> Void) {        for _ in 0..<self {
            task()
        }
    }
}3.repetitions({    print("Hello!")
})// Hello!// Hello!// Hello!
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage