👶 TypeScript

👶 TypeScript

any

any any는 어떤 타입이어도 상관없는 타입입니다. TypeScript에선 컴파일 타임에 모두가 타입이 있어야 하므로 프로그래머와 TypeScript 둘 다 타입을 알 수 없는 상황에서는 기본 타입인 any라고 가정합니다. any로 뭐든지 할 수 있지만 꼭 필요한 상황이 아니라면 사용하지 않는 것이 좋습니다. 왜냐하면 컴파일 타임에 타입 체크가 정상적으로 이뤄지지 않기 때문입니다. 타입이란 값과 값으로 수행할 수 있는 작업의 집합입니다. any는 모든 값의 집합이므로 any는 모든 것을 할 수 있습니다. 즉, any를 사용하면 값이 JavaScript처럼 동작하기 시작하면서 타입 검사기라는 마법이 더 이상 작동하지 않게 됩니다. The any will continue to propagate throug..

👶 TypeScript

Tuple

튜플(Tuple) 튜플(Tuple)은 배열의 서브 타입이며 객체입니다. 튜플은 길이가 고정되었고, 각 인덱스의 타입이 알려진 배열의 일종입니다. 다른 타입과 달리 튜플은 선언할 때 타입을 명시해야 합니다. JavaScript에선 배열과 튜플에 같은 문법(대괄호)을 사용하는데, TypeScript에선 대괄호를 배열 타입으로 추론하기 때문입니다. let a: [number] = [1]; // [이름, 성씨, 생년] 튜플 let b: [string, string, number] = ['tom', 'Bae', 1996]; b = ['princess', 'white', 'ii', 1200]; // error TS2322: 'string'은 'number' 타입에 할당할 수 없음 튜플은 선택형 요소도 지원합니다. ..

👶 TypeScript

Array

Array JavaScript처럼 TypeScript 배열도 연결(concatenation), 푸시(pushing), 검색(searching), 슬라이스(slicing) 등을 지원하는 특별한 객체입니다. TypeScript는 T[]와 Array라는 두 가지 배열 문법을 지원합니다. 성능, 의미상 두 표현은 같습니다. let a = [1, 2, 3]; // number var b = ['a', 'b']; // string[] let c: string[] = ['a']; // string[] let d = [1, 'a']; // (string | number)[] const e = [1, 'b']; // (string | number)[] let f = ['red']; f.push('blue'); f.pus..

👶 TypeScript

객체(Object)

객체(Object) TypeScript의 객체(object) 타입은 객체의 형태(shape)를 정의합니다. 그러나 객체 타입만으로는 ({}로 만든) 간단한 객체와 (new를 사용해 만든) 복잡한 객체를 구분할 수 없습니다. 이는 JavaScript가 구조 기반 타입(structural type)을 갖도록 설계되었기 때문입니다. 따라서 TypeScript도 이름 기반 타입(nominal type) 스타일보다는 JavaScript 스타일을 선호합니다. 구조 기반 타입화 구조 기반 타입화에선 객체의 이름에 상관없이 객체가 어떤 프로퍼티를 갖고 있는지를 따집니다.(이름 기반 타입에선 이름을 따집니다.) 일부 언어에서는 덕 타이핑(duck typing)이라고 합니다(겉표지만 보고 책을 판단하지 않는 것과 같은 원..

개발자 린다씨
'👶 TypeScript' 카테고리의 글 목록 (23 Page)