목록타입 스크립트 (4)
FrontEngineer JungBam
제네릭을 왜써요? 라는 질문에 "재사용성을 높이려고 쓰던가 자동완성 쓰려고" 라고 답변을 하고 그 사람에게 설명을 해주다보니, 한번 더 정리를 해서 보여주고 싶은 마음이 생겼다. 제네릭은 왜 쓸까? * 함수형 컴포넌트를 많이 사용하고 함수 또한 화살표 함수로 만드는 것을 주로 하기때문에 사용하는 기준에서 설명을 해보겠다. 1. 첫번째 케이스인데 함수를 만들 때에 어떤 하나의 객체 interface에 관련된 타입을 주어줘야 할때이다. 아래 코드를 보면 간단하게 obj라는 타입에 대해서 어떤 값을 넣었을 때 어떤 타입이 return 되는지를 타입스크립트가 추정할 수 있도록 동작한다. interface obj { name: string; age: number; } const returnByInputType =..
const combine = (input1: number | string, input2: number | string) => { let result; if (typeof input1 === "number" && typeof input2 === "number") { // 런타임 타입검사 result = input1 + input2; } else { result = input1.toString() + input2.toString(); } return result; }; const combinedAges = combine(30, 25); console.log(combinedAges); const combinedName = combine("A", "B"); console.log(combinedName); 공식문..
const person: { name: string; age: number; hobbies: string[]; // 배열 role: [number, string]; // 튜플 } = { name: "Max", age: 30, hobbies: ["운동", "요리"], role: [2, "author"], }; // 튜플로 지정하더라도 push는 되어버림.. person.role.push("하이"); person.role.push(1); console.log(person.role); // 하지만 데이터의 길이는 고정되어짐. // person.role = [2,'하이','하이'] // 에러 위의 코드에서 person 객체의 hobbies는 문자열 배열이나 role은 튜플을 이야기한다. 튜플은 파이썬에서는 셀 ..
유데미 강의를 훑으면서 뭔가 부족했던 부분을 채우기 위해 책을 구매했다. 하나하나 조금 더 깊이 있게 타입스크립트를 이해해 볼 생각이다. 타입스크립트란? 1. 타입스크립트는 자바스크립트의 상위집합으로 모든 자바스크립트는 타입스크립트 안에 포함된다. 2. 타입스크립트는 자바스크립트로 컴파일되고 자바스크립트로 실행된다. 3. 타입스크립트는 자바스크립트 런타임 동작을 모델링하는 타입 시스템을 갖고 있다. 즉, 타입 체커를 통해 런타임 오류를 발생시킬만한 오류를 찾아내려고 노력한다. 하지만, 모든 런타임 에러를 잡을 수 있는 것은 아니다. 4. 타입스크립트와 자바스크립트를 언어적으로 어떤 것이 우위에 있다라고 생각하기보다 프로젝트의 성향 및 취향의 차이일 수 있다. 하지만 일반적으로는 타입스크립트가 제공하는 D..