program tip

TypeScript에서“=>”의 의미는 무엇입니까?

radiobox 2020. 11. 1. 17:31
반응형

TypeScript에서“=>”의 의미는 무엇입니까? (뚱뚱한 화살)


방금 TypeScript를 배우기 시작했는데이 구문을 사용하는 코드가 많이있는 것을 보았습니다 =>. 나는 읽고 몇 가지 조사를했다 타이프 라이터 버전 1.6의 사양 과 일부 인터넷 검색을. 여전히의 의미를 이해할 수 없습니다 =>.
나에게는 C ++ 포인터 처럼 느껴집니다 . 하지만 확인할 수 없습니다. 누구든지 다음 예를 설명 할 수 있다면 좋을 것입니다. 감사합니다!

Typescript의 사양을 읽을 때 찾은 예는 다음과 같습니다.

개체 유형

var MakePoint: () => {  
    x: number; y: number;  
};

질문 :이 코드는 무엇을합니까? MakePoint 라는 개체를 만드는 중입니다 . 여기서 x 및 y 필드는 숫자 유형입니까? 이것은 MakePoint 의 생성자 또는 함수 입니까?

기능 유형

function vote(candidate: string, callback: (result: string) => any) {  
 // ...  
}

질문 :의 의미는 => any무엇입니까? 문자열 유형을 반환해야합니까?

누구든지 평범한 영어로이 예제의 차이점이나 목적을 설명해 줄 수 있습니까? 시간 내 주셔서 감사합니다!


유형 정보를 함수 선언과 혼동하고있을 수 있습니다. 다음컴파일하면 :

var MakePoint: () => {x: number; y: number;};

다음을 생성하는 것을 볼 수 있습니다.

var MakePoint;

애프터 온다에서 타이프 라이터, 모든 :하지만 전에 =(할당) 유형의 정보입니다. 따라서 귀하의 예제는 MakePoint 유형이 0 인수를 취하고 두 개의 속성 xy두 숫자 가있는 객체를 반환하는 함수라고 말합니다 . 해당 변수에 함수를 할당하지 않습니다. 반대로 컴파일 :

var MakePoint = () => 1;

생성 :

var MakePoint = function () { return 1; };

이 경우 =>굵은 화살표는 할당 연산자 뒤에옵니다.


유형 위치 =>에서 인수가의 왼쪽에 =>있고 반환 유형이 오른쪽에 있는 함수 유형을 정의합니다 . 따라서 callback: (result: string) => any" callback는 유형이 함수 인 매개 변수입니다.이 함수는 resulttype 이라는 하나의 매개 변수를 취하고 함수 string의 반환 값은 any" 유형 입니다.

식 수준 구조 의 경우 JavaScript에서 "=>"(같음 및보다 큼으로 형성된 화살표)의 의미는 무엇입니까?를 참조하십시오 .


var MakePoint: () => {  
    x: number; y: number;  
};

MakePoint변수입니다. 유형은 인수를 취하지 않고 숫자 x와 y를 생성하는 함수입니다. 이제 화살표가 의미가 있습니까?


현명한 사람이 "나는 자바 스크립트가 너무 쉽게 의미를 잃어 버리는 경향이 있기 때문에 나는 싫어한다"고 말했다.

그것은이라고 지방 화살표 (때문에 ->얇은 화살표과 =>지방 화살표입니다)도 불리는 람다 함수를 (때문에 다른 언어의). 일반적으로 사용되는 또 다른 기능은 뚱뚱한 화살표 기능 ()=>something입니다. 뚱뚱한 화살의 동기는 다음과 같습니다.

  1. 계속 입력 할 필요가 없습니다 function.
  2. 의 의미를 어휘 적으로 포착합니다 this.
  3. 그것은 어휘 적으로 의미를 포착합니다. arguments

function Person(age) {
this.age = age;
this.growOld = function() {
    this.age++;
  }
}

var person = new Person(1);
setTimeout(person.growOld,1000);

setTimeout(function() { console.log(person.age); },2000); // 1, should have been 2

브라우저에서이 코드를 실행하면 window가 growOld 함수를 실행하기 때문에 함수 내에서이 코드가 창을 가리킬 것입니다. 수정은 화살표 기능을 사용하는 것입니다.


function Person(age) {
this.age = age;
this.growOld = () => {
    this.age++;
  }
}
var person = new Person(1);
setTimeout(person.growOld,1000);

setTimeout(function() { console.log(person.age); },2000);// 2

It is called a "fat arrow". It was added in EcmaScript6 and replaces the function keyword among other things.

More can be read here.


Directly from the link in OP:

In this example, the second parameter to 'vote' has the function type

(result: string) => any which means the second parameter is a function returning type 'any' that has a single parameter of type 'string' named 'result'.


Simply its been used in place of anonymous functions.

The below code

function(argument){
return argument. Length
}

will be transformed to argument => {argument.length};

For better understanding refer the below: https://codecraft.tv/courses/angular/es6-typescript/arrow/


It is An Arrow Function a.k.a. Fat Arrow Function.

Read More: enter link description here

참고URL : https://stackoverflow.com/questions/34274520/whats-the-meaning-of-in-typescript-fat-arrow

반응형