Javascript

아무고토 하고 싶지 않다.. 하지만 해야죠? 이펙티브 타입스크립트 스터디에 참여하게 되엇읍니다. 참여하는 김에, 블로깅도 같이 남기면서 하면 좋을 것 같아 오느른 tsconfig.json에 대해서 공부해볼까합니다. 이전에 프로젝트에서 참여할 때 프로젝트 생성 시, 기본적으로 깔려있는 typscript 설정들로만 항상 활용해왔는데, 책에서는 적극적으로 활용해볼 것을 권장하고 있네요. ● noImplicitAny, strictNullChecks 를 사용하자! 책에서는 noImplicitAny와 strictNullChecks를 프로젝트에 꼭 사용해보길 권장하고 있습니다. noImplicitAny: true로 설정 시,any 타입을 지정할 수 없음 strictNullChecks: null과 undefined가 ..
● 기본타입 강의를 듣는 것만으로는 좀 부족함이 들어 핸드북을 보며 제대로 공부를 해볼까하고 포스팅합니다. ❍ string 기본 문자열로 아래와 같이 표기합니다. let name: sring = 'daeun' ❍ number let num: number = 10; ❍ boolean let bool1: boolean = true; let bool2: boolean = false; ❍ Array let students: sring[] = ['daeun', 'kim', 'david']; 또는 아래와 같이 제네릭을 사용할 수 있습니다. 제네릭 부분이 너무 헷갈렸습니다.. let arr: Array = [1,2,3,4,5] ❍ Tuple 튜플은 배열인데, 길이와 요소가 고정되어있는 배열입니다. 만약 정의하지 않은..
● 제네릭과 유니온 타입의 차이 제네릭을 배우면서, 제네릭을 도대체 왜 쓰는지에 대해 이해하기가 힘들었습니다. 유니온 타입보다 유동적이고 flexible하다.. 뭐 오케이 알겠는데. 타입스크립트의 엄격한 규칙성을 위해서는 유니온 타입을 쓰는게 더 맞지 않나 싶었습니다. 그냥 유니온 타입쓰면안돼? 라고 생각했는데 그 차이에 대해서 인지할 수 있었습니다.. 만약에 어떠한 클래스가 있다고 가정해보겠습니다. 클래스는 인스턴스를 생성합니다. 이 인스턴스는 data라는 프로퍼티를 가지고 있습니다. 이 data 프로퍼티는 배열을 반환합니다. 위의 예시대로 코드를 짜보면, (+제네릭) 아래와 같게됩니다. class DataStorage { private data : T[] = []; addItem(item :T){ t..
● 타입가드 class Car { drive(){ console.log('Driving...'); } } class Truck { drive(){ console.log('Drivig a Truck...') } loadCargo(amount: number){ console.log('Loading cargo..' + amount); } } 위와 같이 2개의 클래스가 있다고 했을 때, 어떠한 함수가 있다고 정의해보자. type Vehicle = Car | Truck; const v1 = new Car(); const v2 = new Truck(); // 에러의 상황 function useVehicle(vehicle: Vehicle){ vehicle.drive(); vehicle.loadCargo(1000); ..
● 타입, 인터페이스의 차이 타입스크립트를 공부하면서 왜 interface가 필요할까에 대한 질문이 생겼다. interface Person { name: string; age: number; greet(phrase: string): void; } let user1: Person = { name: "daeun", age: 19, greet(phrase: string) { console.log(phrase + " " + this.name); }, }; user1.greet("Hi There"); 위와 같이 Interface로 객체의 틀을 잡아줄 순 있지만, type Person { name: string; age: number; greet(phrase: string): void; } let user1: Pe..
● 함수타입 함수타입이란 함수의 매개변수와 반환하는 변수의 타입을 정의내리는 것을 이야기한다. 예를 들어, 하나의 변수가 함수라고 지정하고 싶다면 아래와 같이 설정할 수 있다. let anything: Function; 만약 함수의 매개변수의 개수와 타입을 지정하고 싶다면? 아래와 같이 정의내릴 수 있다. let anything : (a:number, b:number )=> number 위의 정의는 2개의 매개변수를 받는데, 2개의 매개변수 모두 숫자를 받고 반환값으로 number라는 타입을 반환한다. ● void타입 function daeun(num1:number, num2:number):void { console.log('안냐쌔염'); } 위와 같이 반환값을 void라고 설정하면, 이 함수는 어떤값..
김코린이
'Javascript' 카테고리의 글 목록