상세 컨텐츠

본문 제목

[노마드코더] Typescript 블록 체인

개발 공부 (Nomadcoders)

by letprogramming 2021. 1. 22. 01:08

본문

반응형

nomadcoders.co/typescript-for-beginners/

 

All Courses – 노마드 코더 Nomad Coders

초급부터 고급까지! 니꼬쌤과 함께 풀스택으로 성장하세요!

nomadcoders.co

Typescript는 처음 접했다.

1. yarn init

2. yarn (global) add typescript

3. tsconfig.json 작성 - Typescript 컴파일할 때 옵션을 설정

4. 터미널에 tsc 입력 - .ts파일을 컴파일해서 .js 파일과 .js.map 파일을 만들어 준다.

5. package.json 파일에. start, prestart 추가 - yarn start를 실행하면 "tsc" 명령을 실행한 이후에 "node index.js"를 실행하도록 설정한다.


Typescript

- 함수의 반환값 자료형(Type)을 알 수 있음 (Javasript는 알 수 없다.)

- 함수의 인자의 개수를 체크함 -> 맞지 않으면 오류, '?' 를 통해 인자를 선택적으로 선언할 수 있음

- 함수의 인자의 자료형을 미리 정해줄 수 있다. -> function(arg1: string, arg2: int)

- Interface를 이용해서 Object의 자료형을 미리 정할 수 있다.

- Interface는 자바스크립트로 변환할 수 없지만, Class는 변환이 가능하다. => Typescript에서는 클래스의 속성들의 접근 제어자(public, private, protected)와 자료형을 정의해 주어야 한다.

-Class는 생성자를 갖는다.

 

=> 실수, 오류를 사전에 방지할 수 있음

=> C, C++,  자바 등과 비슷함

 

* 주의할 점 : export {}를 작성해야 오류가 나지 않는다. => 이 파일이 모듈로 반환된다는 의미이다.

 

변수이름 옆에 콜론(:)을 붙여서 이 변수의 타입을 지정해준다.

Ex)

let blockchain:[Block] = ...   # Block이라는 class만 배열에 담는다.

const genesisBlock:Block = new Block(); #Block 객체 생성

 

정리

 Typescript는 Javascript와 큰 차이는 없지만 Javascript의 단점을 보완했다는 것을 확인할 수 있었다.

Javascript의 단점은 코드의 오류나 개발자의 실수도 모르고 그냥 넘어갈 수 있다는 것이다.

변수의 타입이 맞지 않거나 함수의 인자의 개수나 타입이 맞지 않아도

오류가 발생하지 않고 그대로 실행될 수 있다.

 

어떠한 경우에는 이러한 점이 스크립트를 작성하기 쉽고 많은 것들을 고려하지 않고 코드를 작성할 수 있기 때문에 장점으로

작용하기도 하지만, 이러한 코드들은 나중에 프로그램에 심각한 오류를 야기할 수 있고 보안 상의 취약점이 될 수 있다.

 

Typescript에서는 자바나 C++와 같은 객체 지향 프로그래밍을 지향하는 느낌이었다.

클래스와 인터페이스를 사용하고

변수의 자료형이나 함수의 형태를 항상 확인해서 컴파일러가 오류를 보여준다.

 

프로젝트의 규모가 커지면 데이터의 관리는 중요하다.

내가 지금 호출하는 함수의 두 번째 인자로 string을 주어야 하는지 Object A인지 헷갈리기 시작하면

작업 효율도 떨어지고 프로그램의 에러를 찾는 것도 비용이 많이 든다.

 

Typescript를 이용해 미리 타입을 정해놓는다면

실수에 대해 빠르게 찾고 수정할 수 있으며

코드를 읽을 때도 명시해놓지 않은 코드보다 이해하기 쉽다.

반응형