Coding Study(70)
-
타입스크립트 타입단언( Type Assertion )
타입스크립트에서 타입 단언(Type Assertion)은 컴파일러에게 "이 값의 타입을 내가 더 잘 안다"고 명시적으로 알려주는 방법이다. 타입 단언은 타입스크립트의 타입 시스템을 우회하거나, 점진적으로 타입을 적용할 때 유용하게 사용할 수 있다. 하지만 타입 단언의 남용은 런타임 오류로 이어질 수 있으니, 꼭 필요한 경우에만 사용하는 것이 좋다 형식이 맞지 않을 경우Student 라는 타입을 만들어서 student 라는 객체의 타입을 지정을 했다.그리고 객체를 만들고 나중에 속성을 정의 하기 위해 빈 객체를 대입하게 되면 타입오류가 발생한다. 그렇다고 타입 지정을 안해버리면속성을 정의하기 위한 코드에서 오류가 발생한다. 이럴때 타입 단언을 적용하여 해결이 가능하다.type Student = { ..
2025.06.05 -
타입스크립트 튜플(tuple) / 열거형(enum)
튜플(tuple) 타입스크립트에서 튜플(tuple)은 고정된 크기를 가지는 배열로, 각 요소가 서로 다른 타입을 가질 수 있고, 요소의 순서가 매우 중요하다. 튜플 타입은 타입스크립트의 타입 시스템에서만 존재하며, 자바스크립트에는 없는 개념이다.1. 튜플의 특징고정된 개수의 요소를 가진다.각 요소마다 타입이 다를 수 있다.요소의 순서와 타입이 모두 일치해야 한다.자바스크립트에는 없고, 타입스크립트 타입 시스템에서만 동작한다.2. 튜플 기본 문법// 튜플 타입 선언let myTuple: [string, number, boolean];// 올바른 예시myTuple = ["hello", 15, false];// 잘못된 예시 (순서 오류)myTuple = ["hello", false, 15]; // 오류 발생/..
2025.06.05 -
인터페이스( Interfaces )
특정 객체가 어떤 프로퍼티와 메서드를 가져야 하는지 명확하게 제시해주고, 클래스나 객체가 따라야 할 계약(Contract) 역할을 한다. 구현 방법이 아닌 구조의 가이드라인을 제공하며, 확장 및 조합이 매우 용이하다.1. 인터페이스 기본 문법interface 키워드를 사용해 정의하며, 속성 이름과 타입을 명시한다. 여러 속성은 세미콜론으로 구분한다. 메서드도 타입과 함께 정의할 수 있다.interface User { id: number; name: string; isPremium: boolean; someMethod(): void;}객체에 인터페이스를 적용하려면 해당 구조를 반드시 따라야 한다.const userA: User = { id: 1, name: "bill", isPremium: f..
2025.06.05 -
유니언 타입 ( Union Types )
타입스크립트에서 Union 타입은 하나의 변수나 파라미터가 여러 타입 중 하나를 가질 수 있게 해주는 기능이다. 수학의 합집합과 비슷한 개념으로, 다양한 상황에서 타입의 유연성을 높여준다. 1. Union 타입 기본 문법Union 타입은 |(파이프) 기호를 사용해 여러 타입을 나열한다.let userId: string | number;userId = "abc123"; // 가능userId = 100; // 가능userId = true; // 오류: boolean 타입은 할당 불가 2. 함수 파라미터에 Union 타입 활용함수의 매개변수에 Union 타입을 지정하면 다양한 타입의 인자를 받을 수 있다.function printUserId(id: string | number) { conso..
2025.06.05 -
타입스크립트 배열 / 객체 / 함수 타입
1. 배열 타입배열은 자바스크립트에서 객체와 더불어 가장 자주 사용되는 자료구조 중 하나이다.TypeScript에서 배열을 타입 지정한다는 것은 배열의 모든 요소가 동일한 타입을 갖도록 명시하는 것을 의미한다.이를 통해 배열 내부 요소의 타입 안정성(type safety) 을 확보할 수 있다. 1) 배열 타입 선언 방법TypeScript에서는 배열 타입을 표현하는 방법이 두 가지가 있다.타입[] 형태로 선언Generic 형태로 선언 (Array)둘 다 동일한 기능을 제공하지만, 1번 방법이 더 대중적이며 현업에서도 자주 사용된다. 2) 배열 타입 선언 📎 예제 코드// 방법 1: 타입[] 형태let nums: number[] = [1, 2, 3];let strs: string[] = ['a..
2025.06.04 -
클래스
1. 클래스 ES6 에서 도입된 문법 기존의 프로토타입 기반 상속을 더 쉽고 직관적으로 사용할 수 있게 해줌 객체 지향 프로그래밍에서 사용하는 설계도 역활 2. 클래스의 기본 구조 constructor 는 인스턴스 생성 시 호출되는 함수 메서드도 클래스 내부에서 정의할 수 있다.class Car { brand; model; year; mileage; constructor(brand, model, year, mileage) { this.brand = brand; this.model = model; this.year = year; this.mileage = mileage; } drive(km) { this.mileage += km; return `${km}km 주..
2025.06.02