본문 바로가기

Dev/TypeScript15

TypeScript : Class와 Interface 소개타입스크립트는 자바스크립트에 강력한 타입 시스템을 추가하여 더욱 안전하고 유지보수 가능한 코드를 작성할 수 있도록 지원합니다. 이 중 Class와 Interface는 객체지향 프로그래밍에서 핵심적인 역할을 수행하는 두 가지 개념입니다. 이 글에서는 Class와 Interface의 개념, 차이점, 그리고 사용 예시를 통해 자세히 알아보겠습니다.Class (클래스)정의: 객체를 생성하기 위한 템플릿입니다. 클래스는 속성(property)과 메서드(method)를 정의하며, 이를 기반으로 객체를 생성할 수 있습니다.특징:상속: 다른 클래스를 상속하여 기능을 확장할 수 있습니다.생성자: 객체 생성 시 초기화 작업을 수행하는 특별한 메서드입니다.접근 제한자: public, private, protected 키.. 2024. 9. 28.
TypeScript Call Signatures / Dictionary 호출 시그니처(call signatures) 코드 작성last(arr): 이 함수는 배열의 마지막 요소를 반환해야 합니다.function last(arr: T[]): T | undefined { return arr.length > 0 ? arr[arr.length - 1] : undefined;}호출 시그니처: (arr: T[]): T | undefined설명:제네릭 타입 T를 사용하여 다양한 타입의 배열을 처리할 수 있도록 했습니다.배열이 비어있을 경우 undefined를 반환하도록 처리했습니다.prepend(arr, item): 이 함수는 배열의 시작 부분에 item을 넣고 배열을 return해야 합니다.function prepend(arr: T[], item: T): T[] { return [i.. 2024. 9. 27.
TypeScript / 타입스크립트 개념 및 활용 JavaScript는 유형 안전 언어일까요?아닙니다. JavaScript는 유형 안전(type-safe) 언어가 아닙니다.왜 JavaScript는 유형 안전 언어가 아니라고 할까요?동적 타이핑(Dynamic Typing): JavaScript는 변수를 선언할 때 명시적으로 데이터 타입을 지정하지 않아도 됩니다. 즉, 같은 변수에 문자열, 숫자, 객체 등 다양한 타입의 값을 할당할 수 있습니다. 이러한 유연성은 개발 속도를 높여주지만, 런타임 시 예상치 못한 타입 오류가 발생할 가능성을 높입니다.약한 타이핑(Weak Typing): JavaScript는 타입 간의 변환을 자동으로 수행하는 경우가 많습니다. 예를 들어, 숫자와 문자열을 더하면 자동으로 문자열로 변환되어 연결됩니다. 이러한 특징은 편리할 수 .. 2024. 9. 26.
[공식문서-Handbook] Everyday Types(언어의 원시 타입들) 이번 장에서는 JavaScript 코드에서 찾아볼 수 있는 가장 흔한 타입들을 다루고, 이 타입들을 TypeScript에서 어떻게 기술하는지 각각의 대응하는 방식에 대하여 설명하겠습니다. 이 문서에서 빠짐없이 전부 다루고자 하는 것이 아니며, 타입을 만들고 사용하는 더 많은 방법들은 이후 이어지는 장에서 다룰 것입니다. 타입은 단지 타입 표기 이외에도 훨씬 다양한 위치에 나타날 수 있습니다. 타입 자체에 대하여 배우는 것과 더불어, 새로운 구조체를 만들고자 할 때 타입을 참조하는 경우들에 대하여 알아볼 것입니다. 우선 JavaScript 또는 TypeScript 코드를 작성할 때 가장 기본적이면서 흔히 만날 수 있는 타입들을 다시 살펴보는 데에서 시작해 보겠습니다. 이 타입들은 이후에 다루는 보다 복잡한.. 2023. 10. 4.
[공식문서-Handbook] The Basics(기초) JavaScript의 모든 값은 저마다 다양한 동작들을 내장하고 있으며 이는 다양한 연산(Operation)을 실행하여 확인할 수 있습니다. 이는 다소 추상적으로 들릴 수 있는데, 간단한 예시로 message라는 이름의 변수에 대하여 실행할 수 있는 몇몇 연산들을 살펴보겠습니다. // 'message'의 프로퍼티 'toLowerCase'에 접근한 뒤 // 이를 호출합니다 message.toLowerCase(); // 'message'를 호출합니다 message(); 위 코드를 분석해보면, 우선 첫 번째 실행 코드 줄에서는 toLowerCase라는 프로퍼티에 접근한 뒤 이를 호출합니다. 두 번째 줄에서는 message를 직접 호출하려 하고 있습니다. 하지만 message의 값이 무엇인지 모른다면 - 일반적.. 2023. 9. 27.
[공식문서] TypeScript for JavaScript Programmers 현대 프로그래밍 언어에서 TypeScript와 JavaScript의 관계는 다소 독특합니다. TypeScript은 JavaScript 위에 레이어로서 자리잡고 있는데, JavaScript의 기능들을 제공하면서 그 위에 자체 레이어를 추가합니다. 이 레이어가 TypeScript 타입 시스템입니다. JavaScript는 이미 string, number, object, undefined 같은 원시 타입을 가지고 있지만, 전체 코드베이스에 일관되게 할당되었는지는 미리 확인해 주지 않습니다. TypeScript는 이 레이어로서 동작합니다. 이는 이미 존재하고 잘 동작하는 JavaScript 코드는 동시에 TypeScript 코드라는 의미지만, TypeScript의 타입 검사기는 사용자가 생각한 일과 JavaScr.. 2023. 9. 27.