타입스크립트 - 고급타입

유니언 타입

유니언 타입은 타입스크립트 1.4에 추가된 특징입니다. 유니언타입은 2개 이상의 타입을 하나의 타입으로 정의한 타입입니다.
유니언 타입을 선언 할 때는 파이프(|)를 타입명 사이에 넣습니다.

타입A | 타입B | 타입C …

유니언 타입으로 선언된 변수는 나열된 타입 중 하나의 타입에 속한 값만 할당 받습니다.

타입스크립트 - 모듈

모듈(modules)은 독립 가능한 기능의 단위 입니다. 프로그램은 여러 모듈로 구성돼 있고 모듈을 결합해 하나의 프로그램을 만듭니다.
모듈을 사용하면 다음과 같은 장점이 있습니다.

  • 유지보수의 용이성
  • 전역 스코프 오염을 방지
  • 재사용성 향상

첫 번째 장점은 모듈을 사용하면 유지보수가 쉬워집니다. 공통기능을 모듈로 정의해 사용하면 애플리케이션의 전체적인 수정 없 모듈의 수정이나
교체만으로도 코드를 효과적으로 수정할 수 있습니다.

두 번째 장점은 모듈은 전역 스코프 오염(global scope pollution)을 방지합니다. 전역 스코프틑 전역 이름 공간을 가지므로 변수의 이름이나
함수 이름을 중복해 선언 할 수 없습니다. 그런데 변수나 함수등을 파일 내부에 한정해 모듈로 선언하면 이름 공간이 파일 단위로 제한되며 전역 이름 공간을 침범하지 않습니다.

세 번째 장점은 모듈을 사용하면 재사용성이 향상 됩니다. 모듈화를 잘 해두면 현재의 프로젝트뿐 아니라 다른 프로젝트에도 공유해 재사용할 수 있습니다.

타입스크립트 - 클래스와 인터페이스

객체지향 프로그래밍과 클래스 기초

객체지향 프로그래밍(Object Oriented Programming, OOP)은 커다란 문제를 클래스 단위로 나누고 클래스 간의 관계를 추가하면서 코드 중복을
최소화 하는 개발방식
이다. 클래스 간의 관계를 추가할 때는 상속이나 포함 관계를 고려하여 추가한다. OOP를 통해 어플리케이션을 개발하면 코드 중복을
상당히 줄일 수 있다. 타입스크립트는 자바스크립트(ES6)에 비해서 OOP를 지원하는 부분이 훨씬 더 많다.

타입스크립트 - 함수

함수는 애플리케이션의 코드를 구성하는 기본 요소입니다. 타입스크립트에서 함수는 클래스나 네이스페이스 내에 선언할 수 있고 때론 모듈로서 사용됩니
다. 자바스크립트에서 함수를 선언했던 것과 동일한 방식으로 선언해 사용자가 원하는 단위 기능을 수행 할 수 있습니다. 다른 점이 있다면 함수의 매개변수나 반환값에 타입을 지정해 타입 안전성을 강화할 수 있습니다.

자바스크립트 함수

기명 함수와 익명 함수의 선언

함수의 이름을 명시해 선언하는 기명 함수(named function)와 함수의 이름을 명시하지 않고 사용하는 익명 함수(anonymous function)로 나뉩니다.

webstorm 과 jira 연동해서 사용하기

webstorm을 사용하고 업무를 진행할 때 jira를 사용하다보니 jira를 별도의 창으로 띄워놓고 이슈를 생성하고, webstorm에서 작업하다가 커밋하면서
jira 티켓번호 생성하고 푸시한 다음에 티켓을 이동시켜주고 하는 반복작업이 많아졌습니다. 어떻게 보면 별거아닌 작업일 수 있지만 까먹게 되는 일이
많고 바쁠때는 모아서 하기도 하다보니 이슈 트레킹 하는데 문제가 있어보여 찾아보다가 연동하는 방법을 찾아 정리해 보았습니다.

단축키는 Mac OS를 기준으로 정리하였습니다.

webstorm에서 gitflow 사용하기

vscode 에서 webstorm으로 갈아타면서 플러그인으로 사용하던 몇가지 기능들을 webstorm 에서도 사용해 보고 싶었습니다.
그중에 git 을 사용하다 보면 대부분의 경우 git-flow 를 따라서 작업을 진행하게 됩니다. 물론 cli 를 이용해서
정책만을 따라 가며 작업할 수 있지만 번거로운 작업들도 있고 급할때는 까먹기도 하기 때문에 편하게 사용하는 방법을 찾아보았습니다.
IntelliJ Git Flow Integration를 이용한 방법입니다.

gitflow 란? git-flow 를 사용한 브랜치 전략

GitFlow?

깃플로우(git-flow) 전략은 소프트웨어의 소스코드를 관리하고 출시하기 위한 ‘브랜치 관리 전략(branch management strategy)’중 하나이다.
git-flow 전략외에도 github flowgitlab flow 전략등도 있다. 각자에게 맞는 전략을 선택해서 사용하는게 가장 중요하다.
git-flow 는 Vicent Driessen 이 제안한 git 의 workflow 디자인에 기반한 브랜칭 모델입니다. git-flow 에서 사용하는 브랜치의 종류는 5가지이며,
크게 항상 유지되는 메인브렌치(master, develop)와 일정 기간 유지되는 보조 브랜치(feature, realease, hotfix)로 나뉩니다.

타입스크립트 - 제어문 과 연산자

조건문

타입스크립트는 자바스크립트에서 사용했던 조건문을 사용할 수 있습니다. 대표적으로 if 문과 switch 문이 있습니다.
if 문은 조건의 참과 거짓에 따라 분기를 수행하는 조건문, switch 문은 입력값에 따라 분기를 결정하는 조건문입니다.

if 문

if 문은 조건이 참인지 거짓인지 판단하고 분기를 수행합니다.

if 문 형식
1
2
3
if (조건) {
명령문;
}

이때 if 문에 지정하는 조건은 참과 거짓을 판단할 수 있는 불리언(boolean) 타입이어야 합니다. 이때 if 문에 사용할 변수도 다음과 같이 명시적으로 불리언 타입으로 선언해야 합니다.

1
var idEnable: boolean = true;

타입스크립트 - 변수 선언과 기본 타입

var 의 특징

  • 호이스팅
  • 함수 레벨 스코프(블록 레벨 스코프 지원 되지 않음)

var의 첫 번째 특징은 호이스팅 입니다. 호이스팅은 선언한 변수가 스코프의 최상위로 끌어올림 되는 현상입니다.
두 번째 특징은 함수 레벨 스코프(function level scope)를 지원하므로 함수 내에서 선언한 변수는 함수 내에서만 유효하고 함수 외부에서는 참조할 수 없다는 것이다. var 는 블록 레벨 스코프(block level scope)를 지원하지 않는다. 블록 레벨 스코프란 블록{} 내에서만 유효하고 블록 외부에서는 참조 할 수 없는 것을 말한다.

블록 레벨 스코프를 지원하는 하는 대표적인 선언은 다음과 같다.

  • let, const
  • 클래스, 인터페이스, 타입 에일리어스(type alias), enum 선언

TypeScript? 타입스크립트 소개 및 개발환경 구축

타입스크립트(TypeScript)

타입스크립트(TypeScript)는 오픈소스 프로그래밍 언어입니다. 마이크로소프트가 개발했고 유지 관리하고 있습니다.
독자적인 표준을 가지고 있지 않고 ECMA스크립트 표준을 따르기 때문에 자바스크립트의 특성을 침범하지 않고 최신 ECMA 표준을 지원합니다.
그래서 타입스크립트는 자바스크립트의 상위 집합(superset)언어라고 합니다.
타입스크립트가 ECMA 스크립트를 따르므로 자바스크립트 문법을 타입스크립트에서 이용 할수 있으며, 최신 ECMA 표준을 지원함으로써 하위 ECMA 표준에 대한 컴파일도 지원합니다.

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×