📍 여러 타입스크립트 강의를 들으면서 '타입과 인터페이스는 비슷한 기능을 가졌다. 그러나 무엇을 쓰는걸 더 권장한다.' 라는 말을 많이 들었는데 중요한건 그 '무엇을'이 다 다르다는 것이다. 궁금함에 멘토링 시간에 멘토님께도 물어봤는데 또 다른 걸 권장하신다는 걸 듣고 과연 타입과 인터페이스 중 무엇을 써야될까에 대한 고민이 깊어졌다. 1. 타입 별칭(Type Alias) // 타입 별칭 type User = { id: number; name: string; nickname: string; birth: string; bio: string; location: string; }; ... 타입 별칭을 이용하면 변수를 선언하듯 타입을 별도로 정의할 수 있다. type 타입이름 = { 타입 } 타입에는 여러개의 ..
1. 타입은 집합이다. 타입스크립트의 타입은 여러 개의 값을 포함하는 집합이다. 집합은 동일한 속성을 갖는 여러개의 요소들을 하나의 그룹으로 묶은 단위를 말한다. 타입스크립트의 모든 타입들은 집합으로써 서로 포함하고 또 포함되는 관계를 갖는다. 다른타입을 포함하는 타입을 슈퍼 타입이라고 하고 다른 타입에 포함되는 타입을 서브 타입이라고 한다. 이러한 집합 관계는 계층 구조로 표현할 수 있는데 이걸 통해 다양한 타입의 관계를 이용할 수 있다. 2. 타입 호환성 예를 들어 number 타입과 number 리터럴 타입이 있을 때 서브 타입인 number 리터럴 타입의 값을 슈퍼 타입인 number 타입의 값으로 취급하는 건 가능하지만 반대는 불가능하다. 왜냐하면 number 타입이 더 큰 타입이기 때문이다. ..
1. 기본 타입(Basic Types)이란? 타입스크립트가 자체적으로 제공하는 타입(내장 타입) 타입스크립트가 제공하는 기본 타입들은 계층에 따라 분류한다. 각각의 기본 타입들은 서로 부모 자식 관계를 이루며 계층을 형성한다. 2. 원시타입 (Primitive Type) 동시에 한개의 값만 저장할 수 있는 타입 타입을 정의할 때는 변수의 이름 뒤에 콜론(:)과 함께 정의하면 된다. 이러한 문법을 타입 주석 또는 타입 어노테이션이라고 한다. 2.1 number 타입 // number let num1: number = 123; let num2: number = -123; let num3: number = 0.123; let num4: number = -0.123; let num5: number = Infin..
1. 컴파일러 옵션이란? 타입스크립트의 컴파일은 코드에 타입 오류가 있는지 없는지 검사한 뒤 자바스크립트로 변환한다. 이 과정에서 얼마나 엄격한 타입 오류를 검사할 건지 또는 컴파일 결과 생성되는 자바스크립트 코드의 버전은 어떻게 할 것인지 등의 세부적인 사항들을 컴파일러 옵션이라고 한다. 컴파일러 옵션은 개발자 자신의 스타일에 따라 자유롭게 변경할 수 있다. 즉, 내가 진행하는 프로젝트 특성에 맞게 맞춤 설정을 할 수 있다. 2. 컴파일러 옵션 자동 생성하기 vite, cra 등을 사용하면 자동으로 설치된다. 만약 그렇지 않다면 아래 명령어를 통해 기본 설정이 완료된 tsconfig.json 파일을 생성할 수 있다. tsc --init 3. 컴파일러 옵션 직접 설정하기 { // 여기 입력된 값들은 모두..
1. 타입스크립트란? 타입스크립트는 기존의 자바스크립트를 더 안전하게 사용할 수 있도록 타입 관련된 기능들을 추가한 언어이다. 쉽게 말해 자바스크립트의 확장판이라고 할 수 있다. 이처럼 타입스크립트는 자바스크립트 코드에서 타입을 정의하는 문법만 추가하면 된다. 즉, 기존 자바스크립트 문법은 그대로 쓰고 거기에 타입 문법만 추가해주는 것이다. 💡 타입스크립트는 왜 나오게 된걸까? 기존 웹 브라우저에서만 동작하던 자바스크립트가 Node.js가 등장한 이후 다양한 프로그램에서 사용할 수 있게 되었고 장점인 유연성이 오히려 버그를 많이 일으키는 단점이 되면서 조금 더 엄격한 문법이 필요해지기 시작했다. 즉, 타입스크립트는 복잡하고 규모가 큰 프로그램을 만들 때 자바스크립트를 더 안정적으로 사용할 수 있도록 하기..
💡 시작하며 처음 기자단을 시작하며 작성했던 글이 2개월 차 회고였는데요. 벌써 3개월 차 회고를 작성할 때가 되었네요! 시간이 어떻게 흐르는지도 모르게 지나가는 것 같습니다. 2개월 차에는 자바스크립트를 위주로 진행되었는데요. 자바스크립트 실시간강의와 첫 번째 개인 프로젝트가 끝나고 3개월 차에는 리액트 온라인 강의와 실시간 강의가 진행되었고 첫 번째 팀 프로젝트를 진행했습니다. 💻 온라인 강의 온라인 강의는 리액트와 타입스크립트를 진행했습니다. 리액트 강의는 다른 강사분이셨고 타입스크립트 강의는 자바스크립트 강의를 진행하셨던 박영웅 강사님이였습니다. 자바스크립트와 비슷하게 타입스크립트의 기본 문법을 수강한 뒤 자바스크립트 강의를 진행하면서 만들었던 무비사이트를 타입스크립트로 변경해보는 강의를 진행했습..