[TypeScript] 기본 타입 정리
·
TypeScript/기초
변수에 타입 선언하기 타입스크립트는 변수를 만들 때 변수의 타입을 선언할 수 있다. let 이름: string = 'seo' ' 변수명: 타입 ' 으로 선언이 가능하다. 변수에 타입을 지정한 경우 해당 변수에 다른 타입을 할당하면 에러가 발생한다. var 이름 = "seo"; // 이름 = 123; --- 에러 기본 타입 종류 자주 쓰는 타입으로 string, number, boolean이 있다. let 이름 :string = 'seo'; let 나이 :number = 200; let 결혼 :boolean = false; 외에도 null, undefined 등이 있지만 자주 사용하는 타입은 아니다. array or object 타입 선언 여러 가지 자료를 한번에 저장할 때 array 또는 object 자..
[TypeScript] 컴파일 시 세부 설정
·
TypeScript/기초
1. tsconfig.json 기본적으로 TypeScript 프로젝트에는 tsconfig.json이 존재한다. 여기선 ts 파일들을 js 파일로 어떻게 변환할 것인지 세부 설정이 가능하다. { "compilerOptions": { "target": "es5", "module": "commonjs", } } target은 타입스크립트 파일을 어떤 버전의 자바스크립트로 바꿔줄지 정하는 부분이다. es5 외에도, es2016, esnext 등 원하는 자바스크립트 버전을 설정할 수 있다. module은 자바스크립트 파일간 import 문법을 구현할 때 어떤 문법을 사용할 지 정하는 곳이다. commonjs는 require 문법, es2015, esnext는 import 문법을 사용한다. 일반적으론 IE 호환성을..
[TypeScript] React에서 TypeScript 사용하기
·
TypeScript/기초
1. 이미 있는 React 프로젝트에 설치하기 npm install --save typescript @types/node @types/react @types/react-dom @types/jest 패키지를 설치하고 .js 파일을 .ts로 바꿔서 사용하면 된다. 2. React 프로젝트를 새로 만들 경우 npx create-react-app my-app --template typescript 명령어를 통해서 프로젝트를 만들면 TypeScript가 적용되어 있다.
[TypeScript] 타입 선언
·
TypeScript/기초
TypeScript는 타입을 선언할 때 변수명 옆에 :타입을 붙여주면 된다. let age:number = 30; let isAdult:boolean = true; let car:string = "BMW" number, boolean, string을 통해서 기본적인 유형의 타입을 선언할 수 있다. let a:number[] = [1,2,3]; let a2:Array = [1,2,3]; let week1:string[] = ['mon','tru','wed']; let week2:Array = ['mon','tru','wed']; 배열을 선언하는 방법은 2가지가 있는데, 하나는 타입[]으로 선언하는 방식과 Array 으로 선언하는 방식이 있다. 만약 문자열 배열에 숫자, 숫자 배열에 문자 같이 다른 타입을 ..
[TypeScript] 필요한 이유
·
TypeScript/기초
JavaScript를 사용하면서 우리는 많은 함수를 만들 것이다. function add (num1, num2) { console.log(num1 + num2); } add(); - NaN add(1); - NaN add(1,2); - 3 add(3,4,5); - 7 add("hello","world"); - "helloworld" add()만 호출할 경우 undefined + undefined 가 되기 때문에 NaN이 출력되며, add(1) 경우엔 1 + undefined 이기 때문에 NaN, add(3,4,5)와 add("hello", "world")는 만든 용도와 다르게 사용되고 있다. 즉, add(1,2) 외엔 모두 원하던 결과 혹은 잘못된 사용방법으로 사용되고 있다. 하지만 JavaScript는..