본문 바로가기

TypeScript6

TypeScript #6 클래스 Class class Car { constructor(color) { this.color = color; // color프로퍼티가 없다고 에러가 나온다 } start() { console.log('start') }}const bmw = new Car('red'); // 자바스크립트에서는 문제가 없다고 나오지만 타입스크립트는 에러가 나온다.// 해결 예제class Car { color: string; // 타입스크립트에서 클래스를 작성할 때 멤버변수는 미리 선언해줘야 한다. constructor(color: string) { this.color = color; } start() { console.log('start') }}const bmw = new Car('red'); // .. 2024. 5. 29.
TypeScript #5 리터럴, 유니온/교차 타입 // Literal Typesconst userName1 = "Bob" // userName1에 마우스를 올려보면 "Bob"이라고 나온다. 변화할 수 없으니 Bob이외의 값은 넣을 수 없다.// userName1처럼 정해진 string값을 가진 것을 문자열 리터럴 타입이라고 한다.let userName2 = "Tom" // 반면 userName2는 언제든 변화할 수 있으니 넓은 개념의 string타입으로 정의된다.userName2 = 3 // string타입이므로 에러가 난다let userName3: string | number = "Andy"userName3 = 3 // 숫자도 넣을 수 있게 해주려면 명시적으로 작성해 주어야 한다.type Job = "police" | "developer" | "tea.. 2024. 5. 16.
Typescript #4 함수 타입스크립트 함수에 대해 알아보자.// 함수가 반환하는 타입을 적어주면 된다function add(num1:number, num2:number): number{ return num1 + num2;}// 아무것도 리턴해주지 않으면 void라고 적어주면 된다function add2(num1:number, num2:number): void{ // return num1 + num2; console.log(num1+num2)}// 원하는 리턴 타입을 넣어준다function isAdult(age: number): boolean { return age > 19;}// 인터페이스처럼 함수의 매개변수도 옵셔널(?)로 지정할 수 있다.function hello(name: string) { return `Hello.. 2024. 5. 3.
Typescript #3 인터페이스(interface) 타입스크립트 인터페이스에 대해 알아보자.let user:object;user = { name: 'xx', age: 30}console.log(user.name) // user의 name을 찍어보면 에러가 발생한다. 오브젝트에는 특정 속성값의 정보가 없기 때문이다.// 이렇게 프로퍼티를 정의해서 객체로 표현하고자 할 때는 인터페이스를 사용한다.// 1. 인터페이스 사용 예제type Score = 'A'|'B'|'C'|'F'; // 타입을 만들어서 지정할 수 있다.interface User { name : string; age : number; gender? : string; // 있어도 되고 없어도 되는 옵셔널한 프로퍼티이다. ? 사용 readonly birthYear : number; [gr.. 2024. 5. 3.