>  기사  >  백엔드 개발  >  현대 프로그래밍 언어의 가장 흥미로운 10가지 기능

현대 프로그래밍 언어의 가장 흥미로운 10가지 기능

小云云
小云云원래의
2017-11-16 10:39:111494검색

정보 기술의 급속한 발전으로 인해 점점 더 많은 프로그래밍 언어가 우리 삶에 등장하고 동시에 우리에게 더 많은 직업 기회를 제공합니다. 프로그래밍 언어의 시대를 살펴보자: 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 Destructuring Destructuring

이유 구문:

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 연산자 캐스케이드 연산자

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 Grammar

val result = if (param == 1) {    "one"} else if (param == 2) {    "two"} else {    "three"}

어떤 사람들은 if 표현을 좋아하고, 어떤 사람들은 싫어하고, 어떤 사람들은 그것이 중요하지 않다고 생각합니다. 전에 Zhihu에 대한 답변이 있습니다: https://www.zhihu. ..

8 표현식을 사용해 보세요

Kotlin 구문

val result = try {
    count()
} catch (e: ArithmeticEx

ception) { throw IllegalStateException(e)
}

9 자동 currying

이유 구문:

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는 프로토타입에서 확장될 수 있습니다.

또 다른 매우 유용한 기능인 옵셔널 체이닝이 있다고 생각합니다. 언급하지 않는 이유는 대부분의 언어에 이미 이 기능이 있기 때문입니다. 아직 자바스크립트의 발전이 조금 느린 것 같습니다.

위 내용은 현대 프로그래밍 언어의 가장 흥미로운 10가지 기능입니다.

관련 추천:

오늘의 상위 10개 프로그래밍 언어 ​​​​어떤 것을 좋아하시나요?

TIOBE 2017년 9월 프로그래밍 언어 순위

PHP란 무엇인가요? 프로그래밍 언어로서 PHP를 배워야 하는 이유는 무엇입니까?

위 내용은 현대 프로그래밍 언어의 가장 흥미로운 10가지 기능의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.