전체 글

프론트엔드 지식을 다 먹어버리겠다는 의지
● 오늘 공부 한 것 [기본 타입] ● 기본타입 강의를 듣는 것만으로는 좀 부족함이 들어 핸드북을 보며 제대로 공부를 해볼까하고 포스팅합니다. ❍ string 기본 문자열로 아래와 같이 표기합니다. let name: sring = 'daeun' ❍ number let ddaeunbb.tistory.com ❍ Enum 열거형을 알고는 있었지만, 어떻게 써야할지에 대해서 고민을 했던 것 같습니다. 오늘 공부를 하면서 타입의 '쓰임새'에 집중하다보니 좀 더 쉽게 이해할 수 있었던 것 같습니다. Enum같은 경우에는 상수화하여 상수들의 네임스페이스화?를 활용할 때 쓰기 좋을 것 같다고 생각했습니다. 또한 기존 자바스크립트는 키를 통해서만 값에 접근할 수 있었는데, enum같은 경우에는 키와 값이 서로 접근이 가..
● 기본타입 강의를 듣는 것만으로는 좀 부족함이 들어 핸드북을 보며 제대로 공부를 해볼까하고 포스팅합니다. ❍ 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 튜플은 배열인데, 길이와 요소가 고정되어있는 배열입니다. 만약 정의하지 않은..
문제설명 두 정수 X, Y의 임의의 자리에서 공통으로 나타나는 정수 k(0 ≤ k ≤ 9)들을 이용하여 만들 수 있는 가장 큰 정수를 두 수의 짝꿍이라 합니다(단, 공통으로 나타나는 정수 중 서로 짝지을 수 있는 숫자만 사용합니다). X, Y의 짝꿍이 존재하지 않으면, 짝꿍은 -1입니다. X, Y의 짝꿍이 0으로만 구성되어 있다면, 짝꿍은 0입니다. 예를 들어, X = 3403이고 Y = 13203이라면, X와 Y의 짝꿍은 X와 Y에서 공통으로 나타나는 3, 0, 3으로 만들 수 있는 가장 큰 정수인 330입니다. 다른 예시로 X = 5525이고 Y = 1255이면 X와 Y의 짝꿍은 X와 Y에서 공통으로 나타나는 2, 5, 5로 만들 수 있는 가장 큰 정수인 552입니다(X에는 5가 3개, Y에는 5가 ..
● 오늘 공부한 것 Union Type (유니온 타입) - 유니온 타입은 합집합을 의미하며, 어떤 타입이든 들어올 수 있음을 이야기합니다. 유니온 타입(Union Type)이란 자바스크립트의 OR 연산자(||)와 같이 A이거나 B이다 라는 의미의 타입입니다. function something(x: number | string){ return x } 위의 예제 코드를 보면, x라는 매개변수에 2가지 타입이 모두 올 수 있습니다. 하지만 유니온 타입을 사용하는 경우에 타입가드가 필요합니다. 예를 들어 여러가지의 모양의 객체가 매개변수가 들어온다고 가정해보겠습니다. interface Person1 { name: string; age: number; } interface Person2 { name: string..
● 제네릭과 유니온 타입의 차이 제네릭을 배우면서, 제네릭을 도대체 왜 쓰는지에 대해 이해하기가 힘들었습니다. 유니온 타입보다 유동적이고 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); ..
김코린이
김코린이의 성장일기