inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[리뉴얼] 타입스크립트 올인원 : Part1. 기본 문법편

void의 두 가지 사용법

11:48초 부분 질문입니다.

377

욱둥이

작성한 질문수 19

0

interface A {
	talk: () => void;
}
const a: A = {
	talk() { return 3; } // 타입스크립트는 메서드의 void니까 리턴값 3을 무시해버린다.
}
const b = a.talk(); // b의 타입이 void가 된다.

console.log(b) // 3

플레이 그라운드에서 돌려보니 b의 타입만 void 로 추론하고

b의 값은 3으로 찍히던데 리턴값을 아예 무시하는건 아닌가요?

 

타입스크립트 내부에서만 타입추론할때 무시한다는 뜻이겠죠?!

typescript

답변 2

2

대원

네 void는 반환값이 없다인데 메서드로서 반환값이 없을 것이라고 타입을 지정해주는겁니다.

타입스크립트 지우면 아래와 같으니 3 이 반환되는건 당연합니다.

const a = {
  talk() { return 3; }
};
const b = a.talk(); // 3 
console.log(b); // 3

0

paragraph

제로초님,
저도 위 질문과 동일한 생각이 들었었는데요 그러면 void가 코드읽는 사람에게 어떤 값을 반환하지 않는 것을 명시적으로 알려주는 용도라고 이해하면 될까요?

0

조성진/컴퓨터공학부(컴퓨터공학전공

함수의 리턴값에서의 void에 대해서는, 저도 그렇게 이해하고 있습니다!

제로초님이 말씀하셨던 것처럼 매개변수의 void와 콜백함수의 void와는 느낌이 사뭇 다릅니다.

데코레이터가 현재도 자주 쓰이는 문법인가요?

0

80

2

유틸리티 타입 실제로 구현은 못해도 하나씩 외우면 실무할 때 지장 없겠죠?

0

65

1

매핑 타입은 type에서밖에 안된다고 하네요?

0

65

2

자바에서의 오버로딩과 같은 개념이라고 생각해도 되나요?

0

69

2

filter 함수 반환 타입 네로잉 질문

0

74

2

map<U>(callbackfn: ....) 할때 U는 왜 여기 있는거에요??

0

47

2

ts 컴파일을 위한 type 라벨링 부분

0

46

1

concat 함수 타입 구현 중 질문 있습니다!

0

100

2

filter 메소드 질문

0

53

1

forEach 제네릭 관련 문의

0

60

1

타입 추론 시 가장 넓은 범위로 추론이 되는 건가요?

0

165

1

enum이 javascript로 트랜스파일링될때 사라진다하셨는데요

0

207

1

함수 파라미터 타입 정의 시 ...args: any[]와 ...args: any 의 차이

0

223

1

Flat type에서 ReadonlyArray 타입을 사용하는 이유?

0

157

1

bind type 질문

1

149

1

Lowercase type 관련 질문

0

152

1

key-value 타입 자동추론 질문드립니다

0

266

1

타입스크립트 교과서, p131

0

266

1

타입스크립트 교과서 p122 forEach 메서드 질문

0

232

1

타입스크립트 교과서 p116 , 코드에러남

1

269

1

타입스크립트 교과서 p112 , 코드가 안읽힙니다..

0

266

1

타입스크립트 교과서 p83

1

184

1

타입스크립트교과서 p39 쪽 코드가 이해가 안되요

1

227

1

class 에서 ts의 private vs js의 private field( # )

0

338

1