[TypeScript] Enums(열거형)
·
TypeScript
이름이 있는 상수 집합을 정의한 데이터 구조- 여러 관련된 값을 하나의 그룹으로 묶어 관리 가능- 열거형 이름(key)과 값(value)으로 이루어짐여러상수 편리하게 정의할때 유용(+타입안전)종류숫자 열거형자동 할당enum Dir { Up, // 0 Down, // 1 Left, // 2 Right, // 3}명시적 값 지정, 이후 값 자동 증가enum Dir { Up =1 , Down, // 2 Left, // 3 Right, // 4}console.log(Dir.Left); //3console.log(Dir[3]); // "Left" 값으로 이름 찾기도 가능 문자열 열거형enum Dir { Up = "UP", Dow..
[TypeScript] Class / Interface
·
TypeScript
Class class User{ //생성자 매개변수에서 접근제어자(public, private, protected, readonly) 사용시 //속성 선언과 초기화 ts 자동으로 처리 constructor( private name:string, private number:number, public nickName:string ){}}const aaa = new User("김고양",123,"애옹")aaa.name; //에러private : 선언 클래스 내에서만 접근 가능protected : 선언 클래스, 자식 클래스에서 접근 가능public : 모든 클래스에서 접근 가능class User { private name: string; private number: number; publi..
[TypeScript] Call Signatures / Over Loading / Generics
·
TypeScript
Call Signatures이름 위에 커서를 올렸을 때 뜨는 매개변수 타입 정보와 리턴 타입 정보const add = (a:number,b:number) => a+b;===> 분리type Add = (a:number,b:number) => number; //Call Signaturesconst add:Add = (a,b) => a+b; // 타입 별칭 사용 Over Loading하나의 함수가 복수의 Call Signature를 가질 때 발생- 매개변수의 데이터 타입이 다른 경우type Add = { (a: number, b: number): number, (a: number, b: string): number}const add: Add = (a, b) => { if(typeof b === "strin..
[TypeScript] 기본타입
·
TypeScript
기본타입 12가지string / number/ boolean / object / array /tuple / enum / null / undefined / any / void / never Tuple(튜플)열의 길이가 고정되고 각 요소의 타입이 지정되어 있는 배열 형식const user: [string, number, boolean] = ["hi", 1, true]  undefined, null, anyany: 모든 타입 (최대한 줄일것!)undefined: 선언X 할당Xnull: 선언O 할당X unknown모든타입 허용, 안전성을 강화한 any 타입why?타입 검사 없이 사용을 허용하지 않음let a:unknown🚫 let b = a + 1//타입 확인 후에만 조작 가능if(typeof a === 'n..
[TypeScript] 타입 선언/ 별칭/ 옵션
·
TypeScript
타입 선언1. 타입 추론변수만 생성 초기값 할당 시 TS가 타입 추론let a = "hi" //string 추론a = 1 //에러2. 타입 명시let a : boolean = 'x' //에러let c : number[] = [1,2,3]간단할 경우 추론! 타입 별칭특정 타입이나 인터페이스를 참조할 수 있는 타입 변수//string 타입 사용const name: string = '김야옹';//타입별칭 사용type Man = string;const name:Man = '김야옹'; type Words = { [key: string]: string; //property이름모르지만 타입만 알때};type Health = 1 | 5 | 10; //특정값 제한도 가능 함수에서는?type User = { nam..
[TypeScript] 설치 및 환경 구축
·
TypeScript
설치1. node.js 설치   1-1.버전확인node -v   1-2. 안깔려있다면 설치https://nodejs.org/en/ Node.js — Run JavaScript EverywhereNode.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.nodejs.org2. TypeScript 설치1. 전역 설치npm install -g typescriptts -> js로 변경 컴파일러 제공 패키지-설치 확인tsc -v 2. 로컬 설치(특정 프로젝트만)  플젝 폴더 이동후npm init -ynpm install typescript --save-dev(npm i typescript -D)package.json 생성(프로젝트 관리나 향후 ..
[TypeScript] 개요
·
TypeScript
TypeScript 개요: Microsoft에 의해 개발된 프로그래밍 언어로서 JavaScript의 단점을 보완하고 확대한 언어-TypeScript는 컴파일하면 JavaScript를 생성 공식사이트https://www.typescriptlang.org/ JavaScript With Syntax For Types.TypeScript extends JavaScript by adding types to the language. TypeScript speeds up your development experience by catching errors and providing fixes before you even run your code.www.typescriptlang.org 왜 써야하나. JavaScript의..