본문 바로가기

Frontend/Typescript

함수와 타입 함수 타입 아래 코드에는 함수 선언식, 화살표 함수에 타입을 정의하는 방법, 그리고 함수의 매개변수에 타입을 정의하는 방법이 나와있다. 특히, 함수의 매개변수에 rest parameter를 사용하는 예도 있으니 참고하면 좋을 것 같다. /** * 함수 타입 정의 */ // 함수를 설명하는 가장 좋은 방법 // 어떤 타입의 매개변수를 받고, 어떤 타입의 결과값을 반환하는지 설명 function func(a: number, b: number): number { return a + b; } /** * 화살표 함수의 타입을 정의하는 방법 */ const add = (a: number, b: number): number => a + b; /** * 함수의 매개변수 */ function introduce(name .. 더보기
타입스크립트 이해하기 타입스크립트 이해하기 타입스크립트를 이해한다는 것은 어떤 기준으로 타입을 정의하는지, 어떤 기준으로 타입간의 관계를 정의하는지, 어떤 기준으로 타입의 오류를 검사하는지 등 타입스크립트의 구체적인 원리와 동작 방식을 살펴보는 것이다. 타입은 값들을 포함하고 있는 집합이다. 타입 호환성 타입 호환성을 판단할 때는 집합 관계로 생각해보는 것이 좋다. 서브 타입의 값을 슈퍼 타입으로 취급하는 것을 업 캐스팅이라고 하고, 반대의 경우 다운 캐스팅이라고 한다. let num1: number = 10; let num2: 10 = 10; num1 = num2; num2 = num1; // 에러 발생 number 리터럴 타입(서브 타입)을 number 타입(슈퍼 타입)으로 취급하는 것(업 캐스팅)은 가능하나, 반대(다운.. 더보기
타입스크립트 기본 타입스크립트의 기본 타입은 다음과 같다. 원시 타입과 리터럴 타입 // number let num1: number = 123; let num2: number = -123; let num3: number = 0.123; let num4: number = -0.123; let num5: number = Infinity; let num6: number = -Infinity; let num7: number = NaN; num1.toFixed(); // string let str1: string = 'hello'; let str2: string = "hello"; let str3: string = `hello`; let str4: string = `hello ${num1}`; str1.toLowerCase(); .. 더보기
타입스크립트 개론 타입스크립트 강의도 듣고, 책도 읽었는데, 아직도 감이 안 잡힐 수도 있다. 내가 그랬다. 코드를 작성하긴 하는데, 왜 에러가 나는지 모르고, 왜 이게 잘 되는지도 모르는 신기한 언어이다. 그래서, 저번에 한 입 크기로 잘라먹는 리액트 강사님이 이번에 한 입 크기로 잘라먹는 타입스크립트라는 강의를 내셨다고 해서 바로 수강 신청해버렸다. 완강하고 나서 이 글을 쓰는데, 진짜 최고다. 다른 타입스크립트 강의를 들어보면, 타입을 쓰는 방법을 알려주고 왜 그렇게 쓰는지는 알려주지 않는다. 그래서 왜 타입을 그런 방식으로 써야 하는지 항상 의문이었다. 이 강의를 듣기 전, 이펙티브 타입스크립트 책을 읽어보게 되었다. 이 책은 심화적인 타입스크립트 공부를 하는 사람들에게 좋다고 한다. 근데 나한테는 맞지 않았다. .. 더보기