목록Typescript (5)
developer_kcm
크게 세 가지 옵션으로 구분1. compilerOptions2. include3. exclude{ "compilerOptions": { // 컴파일된 자바스크립트 버전 설정 (ES5, ES6 등) "target": "es6", // 모듈 시스템 설정 (CommonJS, ES Modules, esNext 등) "module": "exNext", // ECMAScript의 가장 최신 버전 // 모듈 해석에 사용할 기준 경로 지정 "baseUrl": "./", // 컴파일러가 참조할 타입 선언(d.ts)의 경로를 지정 "typeRoots": ["./node_modules/@types"], // 컴파일에서 사용할 라이브러리 지정 - "ESN..
접근 제어자(Access Modifiers)public - 어디서나 자유롭게 접근 가능, 클래스 바디에서 생략 가능protected - 나와 파생된 후손 클래스 내에서 접근 가능private - 내 클래스에서만 접근 가능class UserA { first: string; // 생략된 public protected last: string; private age: number; // private으로 접근 제어된 속성은 해당 클래스 밖에서는 age 속성을 조회하는 것도 불가능// 매개변수 자리에서 접근 제어가 사용 가능.(단, 매개변수에서는 public 생략 x) constructor( public first: string = '', protected la..
interface Cat { name: string; age: number;}const cat: Cat = { name: 'Lucy', age: 3}// 명시적 this 타입function hello(this: Cat, message: string) { console.log(`Hello ${this.name}, ${message}`);}hello.call(cat, 'You are pretty awesome!'); 오버로딩(overloading) - 다양한 인자 타입을 처리하기 위해 동일한 함수 이름을 여러번 선언하는 방법1. 타입 선언function add(a: string, b: string): string; // 문자열을 인자로 받아서 문자열을 반환function add(a: number, ..

인터페이스(Interface)- 객체의 구조를 정의하는데 사용한다. 선택적 속성 - ?읽기전용 속성 - readonly interface User { name: string age: number isValid: boolean } const eddie: User = { name: 'Eddie', age: 25, isValid: true }1.함수 타입 - 호출 시그니처(Call Signature)- 호출 시그니처인 소괄호"()"를 통해서 함수의 타입을 지정할 수 있다.- 함수가 실행되고 반환하는 데이터의 타입을 지정할 수 있다.- 함수 타입의 인터페이스를 만들면, 동일한 구조의 함수가 있을 때 그 타입을 똑같이 지정할 수 있다.(재사용성)- 매개변수의 이름이 달라고 ..
1. 타입 추론(Inference)추론 - 어떤한 판단을 근거로 삼아 다른 판단을 이끌어 냄. 1) 초기화된 변수2) 기본값이 설정된 매개 변수3) 반환 값이 있는 함수 let num = 12function add(a: number, b=2) { return a + b } 2. 타입 단언(Assertion)단언 - 주저하지 아니하고 딱 잘라 말함.as 타입 Non-null 단언 연산자 - !ex) el!.textContent = 'Hello world?!'단, 타입 단언을 남발하게되면 값이 없음에도 문법상에는 에러가 뜨지 않아 문제가 생길 수 있으니 내용을 잘 이해하고 사용해야 한다. const el = document.querySelector('body') el!.textContent = 'Hell..