타입스크립트(1)

null·2021년 10월 13일
0

자바스크립트동적 타입의 언어다

그래서 변수의 타입은 런타임(컴퓨터에서 프로그램이 실행되고 있을 때)에 의해  결정된다. (코드 실행)

반면 타입스크립트정적 타입 언어로 변수타입은 컴파일 타임에 결정된다. (소스 코드를 보고)

여기서 컴파일이란 개발자가 즉 인간이 작성한 소스 코드를 기계가 이해하는 기계어 코드로 바꿔주는 과정

타입오류가 정적 타입 언어은 컴파일시, 동적 타입 언어은 런타임시 발견되니까 동타 즉 자바스크립트

사용자에게 버그 노출될 확률이 높아진다

정적 타입 언어, 타입스크립트가 생산성이 높다는 건?

const eunji = {friends : ['지연', '창엽']};

// 속성 네임 오류
const total = eunji.friend.length

동적 타입 언어에서는 ide가 컴파일 타임에 eunji타입을 모르니까 속성이 틀려도 오류가 안남

반면 정적 타입은 안남 > 실수 방지

const person1 = { name: 'd'}

const person2 = { name: 'ds'}

const product = { name: 'dd'}

동적타입에선 자신이 사용하려는 객체 속성을 개발자가 다~~ 알아야 돼

그래서 리팩토링 할 때나.. 되게 귀찮아

위 예시에서 person1, person2의 name만 firstName으로 바꾸고 싶을 때

한 번에 바꾸려면 product의 name도 같이 바뀔 위험이 있음

반면 정적 타입은 interface Person {name: string } < 여기 부분에서만 이름바꾸기 (cmd+r) 해주면

알아서 잘 바뀜!

타입스크립트 설치

tsconfig.json 에서

target: "es5" > 컴파일 타겟

module: "commonjs"

strict: true

근데 기존 자스 프로젝트를 타스로 포팅하는 경우엔 false로 설정하고 strict 옵션을

하나씩 true로 바꿔주는 것도 방법

Tip

  1. ts에 2.ts에 만들어둔 함수(funciton f1)를 임포트 하려고 한다!

    f1 쓴 다음 cmd + . auto import

  1. 멀티 선택은 원하는 단어를 선택한 후  cmd + d 입력하면 취소하려면 esc

  2. 멀티 커서 cmd opt 화살표

profile
개발이 싫어.

0개의 댓글