보호되어 있는 글입니다.
분류 전체보기
보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.

Typescript의 void 타입을 배우다.타입스크립트 void 타입 이해하기 void는 존재하지 않음, 빈 공간의 의미를 가지고 있다. 따라서 함수가 void 타입이면 그 함수는 return값이 없어야 한다. 그러나 void는 반환값이 없어야 한다는 것을 강제하지는 않는다. 이 때문에 void 타입이 사용될 때 반환값이 존재해도 문제가 되지 않는 경우도 있다.function a(): void { }const b = a();함수를 실행하지만 return 값이 없을때 void를 사용한다. void 타입의 함수는 반환값이 없거나, undefined를 반환하는 경우를 포함한다. 따라서 값을 반환하지 않는 함수는 기본적으로 undefined를 반환한다. 따라서 void 타입의 함수는 return값으로 u..

타입을 집합으로 생각하고 타입간의 좁은 타입, 넓은 타입을 파악하다타입과 집합타입들을 정의할 때 A타입이 B타입보다 좁을지 넓을지 생각하면 대입이 되는가 안되는가 판단할 수 있다. string & number 는 never 타입이다. never는 집합으로 따지면 공집합이다. any는 전체집합이다. type A = { name: string }type B = { age: number }type C = { name: string, age: number } 타입 A, B, C 중에 어떤 것이 가장 좁은 타입일까? 답은 C이다. C가 넓은 타입이라고 생각할 수도 있는데 이렇게 생각하면 좋다. 내가 느끼기에 타입에 충족하는 조건이 더 까다롭거나 자세하면 좁은 타입이라고 생각하면 되는 거 같다. 타입 C가 되려면 ..

union과 intersectionunion(|)과 intersection(&)function add(x: string | number, y: string | number): string | number { return x + y }add(1, 2)add('1', '2')add(1, '2')type A = { a: string;}type B = { b: string;}const aa: A | B = { a: 'hello', b: 'world' };const bb: A & B = { a: 'hello', b: 'world' }; union은 또는 (or)의 성질을 지닌다. 근데 string | number는 문제가 있다. return값이 number일수도 string일수도 있는데 return값에..