본문 바로가기

TS5

[TS] Typescript와 차세대 자바스크립트 본 포스팅은 Maximilian Schwarzmüller 님의 강의를 바탕으로 작성되었습니다. let과 var의 차이점 var를 사용하면 자바스크립트는 함수의 유효 범위 및 전역 유효 범위 이외의 다른 유효 범위를 알지 못하는데 let을 사용하면 다르다. let과 const는 '유효 범위'라는 새로운 개념이 도입되어있다. 즉, 변수나 상수가 정의된 블록이나 하위 블록에서만 항상 유효하다는 것이다. 그러나 var는 마치 전역 변수처럼 유효 범위가 없이 작동한다는 것이 문제다. arrow 함수 'function' 대신 '=>' 를 사용하여 함수를 만들 수 있다. 또한, 표현식이 하나일 경우 return과 중괄호를 제거할 수 있다. 함수의 인자가 하나일 경우에 다음과 같이 작성할 수도 있다. const pri.. 2023. 1. 19.
[TS] Typescript 컴파일러2 본 포스팅은 Maximilian Schwarzmüller 님의 강의를 바탕으로 작성되었습니다. strict 옵션 개별 옵션을 각각 false로 설정하거나, 모든 옵션을 true로 하거나. strict - noImplicitAny 함수의 인자는 타입을 명시하지 않으면 에러를 발생시킨다. 하지만 변수의 경우에는 any 타입으로 추론된다. 왜 그럴까? 변수의 경우에는 '미리' 선언되기 때문에 any 타입으로 추론되지만, 함수의 인자는 '미리' 선언될 수 없기 때문에 타입스크립트가 any로 추론하면서 동시에 에러를 발생시키는 것이다. 이런 경우 에러를 유발시키지 않고 any로 추론하게 만들기 위해서는 strict 옵션중 noImplicitAny 옵션은 false로 설정하면 된다. any로 추론하며, 에러를 발생.. 2023. 1. 19.
[TS] Typescript 컴파일러 본 포스팅은 Maximilian Schwarzmüller 님의 강의를 바탕으로 작성되었습니다. watch mode 타입스크립트가 파일을 관찰하고 파일에 변경 사항이 있을 때마다 다시 컴파일하게 된다. tsc {파일명.확장자명} --watch --watch 말고 -w 라고 입력해도 된다. watch mode를 활성화 시키면, 저장할 때마다 리컴파일한 자바스크립트도 디스크에 저장된다. 주의할 점 : 개발중에 watch모드를 나가지(quit) 마라. 꼭 CTRL + C 를 통해서 나가라. tsc --init tsc --init을 터미널에 입력하게 되면 해당 프로젝트(디렉토리)를 타입스크립트가 관리한다. tsconfig.json 파일이 생성되며, 해당 json파일은 타입스크립트가 관리해야 하는 이 파일이 포함된.. 2023. 1. 19.
[TS] TypeScript 기본 & 기본 타입2 본 포스팅은 Maximilian Schwarzmüller 님의 강의를 바탕으로 작성되었습니다. Tuple 타입스크립트는 튜플 타입을 제공한다. 위와 같이 객체 타입을 각각 지정하여 array구문 안에 각 요소의 타입을 지정하면 튜플로 명시된다. 하지만, 안타깝게도 push에 대한 보호가 안된다. 대신 array의 길이에 대한 것과 해당 인덱스의 타입은 보호할 수 있다. 다음과 같이 push된 "admin"은 존재하는 것을 볼 수 있다. enum 타입스크립트에만 있는 타입(자바스크립트에 없다). 기본적으로 enum 값이 0부터 시작하지만, 만약 수정하고 싶다면 등호(=)를 사용하여 변경할 수 있다. 또한 string 데이터로 명시할 수도 있다. union 두개 이상의 타입을 명시하고 싶을 때 union 타.. 2023. 1. 18.
[TS] TypeScript 기본 & 기본 타입 본 포스팅은 Maximilian Schwarzmüller 님의 강의를 바탕으로 작성되었습니다. Core Types 타입스크립트는 자바스크립트보다 더 많은 타입들을 명시할 수 있다. 1. number : int, float, double .. ➡️ 모든 숫자들, 정수와 실수의 차이가 없이 number 타입을 사용. 2. string : 'Hi', "Hi", `hi` ➡️모든 text value 3. boolean : true, false ➡️ 오직 true or false. 위 세가지의 코어 데이터 타입을 어떻게 사용할 수 있을까. number 위와 같은 함수를 호출한 경우 tsc app.ts 를 터미널에서 호출하여 .js 파일로 컴파일 시키면 아무런 문제없이 7.8이 찍힌다. 하지만 number1 에 s.. 2023. 1. 18.