[TypeScript] 타입 별칭(Type Aliases) 개념정리
·
TypeScript
타입 별칭(Type Aliases)이란?타입스크립트를 공부하면서 '타입 별칭'이란 개념은 자주 접하게 될 것이다.타입 별칭이 뭘까??? 아래와 같다.타입 별칭은 이름 그대로 타입에 새로운 이름을 부여하는 기능이다. 타입 별칭은 복잡한 타입을 간결하게 표현할 수 있게 해주며, 코드의 가독성과 재사용성을 높여준다!또한 type 키워드를 사용하여 정의하며, 원시 타입부터 복잡한 객체 타입, 유니온 타입, 제네릭 타입까지 다양한 타입에 별칭을 붙일 수 있다. 타입 별칭은 단순히 타입에 이름을 붙이는 것 이상의 의미가 있는 것 같다.복잡한 타입 구조를 추상화하고, 코드의 의도를 명확하게 표현할 수 있게 해주기 때문.(특히 프로젝트의 규모가 커질수록 타입 별칭의 중요성은 더욱 커지지 않을까?)기본 사용법타입 별칭의..
[TypeScript] 열거형(Enums) 개념정리
·
TypeScript
열거형(Enums)이란?TypeScript에서 열거형(Enums)은 관련된 상수 값들의 집합을 정의하는 방법이다.우리가 코드를 작성할 때 특정 값들만 사용하도록 제한하고, 각 값에 의미 있는 이름을 부여하여 가독성을 높이는 역할을 한다고 이해하면 된다. 자바스크립트에는 열거형 개념이 따로 없지만, 타입스크립트는 이를 추가하여 개발자들이 좀 더 안전하고 명시적인 코드를 작성할 수 있게 해준다. 열거형을 통해 특정 값들만 사용하도록 제한하면 오타나 잘못된 값 사용으로 인한 오류를 줄일 수 있고, 코드의 의도를 더 명확하게 표현할 수 있다.enum Direction { Up, Down, Left, Right}// 열거형 사용 예시let myDirection: Direction = Direction.Up..
[TypeScript] 인터페이스 개념정리
·
TypeScript
오늘은 TypeScript의 핵심 기능 중 하나인 인터페이스(Interface)에 대해 개념정리 해보고자 한다.인터페이스란?TypeScript에서 인터페이스는 타입 체크를 위한 강력한 도구라고 할 수 있다.인터페이스는 객체의 구조를 정의하며, 코드 내에서 객체가 특정 구조를 따르도록 강제한다 => 이를 통해 코드의 가독성과 안정성을 높일 수 있다! 인터페이스는 실제 구현이 아닌 '계약'과 같은 개념이다.즉, 특정 객체가 가져야 할 프로퍼티와 메서드를 선언하지만, 실제 구현은 해당 인터페이스를 이용하는 객체에게 맡긴다.(TypeScript 컴파일러는 객체가 인터페이스에 명시된 구조를 준수하는지 확인하여 타입 안정성을 보장한다.) JavaScript는 동적 타입 언어이기 때문에 런타임에 타입 관련 오류가 발..
[TypeScript] 제네릭(Generics) 개념정리
·
TypeScript
제네릭이란?💡 제네릭은 타입스크립트에서 함수, 클래스, 인터페이스 등을 다양한 타입에서 재사용할 수 있도록 해주는 템플릿이다. 💡즉, 코드를 작성할 때 타입을 확정하지 않고, 사용하는 시점에 원하는 타입을 지정할 수 있게 해준다. 제네릭을 사용하면 "any" 타입을 사용할 때처럼 타입 유연성을 가질 수 있으면서도, 컴파일 시점에 타입 체크를 할 수 있어 타입 안전성도 확보할 수 있다. 이것이 제네릭의 가장 큰 장점이라고 생각한다! 제네릭은 꺾쇠괄호()를 사용하여 표현하며, 주로 T, E, K, V 등의 단일 대문자를 사용하는 것이 관례다.(물론 다른 이름을 사용해도 무방하다.)제네릭 함수가장 먼저 살펴볼 것은 제네릭 함수다!예를 들어, 어떤 값을 받아서 그대로 반환하는 간단한 함수를 만들어보자.fun..
[TypeScript] JavaScript의 진화!!!
·
TypeScript
JavaScript의 세계JavaScript는 1995년 Netscape의 Brendan Eich에 의해 만들어진 스크립트 언어로, 웹 브라우저에서 실행되는 코드를 작성하기 위해 탄생했다.동적 타입, 프로토타입 기반 객체지향, 함수형 프로그래밍 패러다임을 지원하는 다중 패러다임 언어! TypeScript를 소개하기 전에 JavaScript의 주요 특징을 살펴볼까?크게 네 가지로 나눌 수 있다.동적 타입 시스템프로토타입 기반 객체지향함수형 프로그래밍 지원비동기 프로그래밍그럼 위 특징들에 대해 하나씩 정리해보겠다.동적 타입 시스템변수의 타입이 런타임에 결정되고 변경될 수 있으며,이는 유연성을 제공하지만, 예상치 못한 타입 오류를 발생시킬 수 있다.let variable = "Hello"; // 문자열 타입v..