logo

JEONGGON

    블로그
github
mode
목 차
down-arrow

TypeScript 변수

2024.01.09.

post-thumbnail

변수

1. 변수

  • 프로그램에서 사용할 데이터를 임시로 저장해 놓는 그릇
  • 타입스크립트는 하나의 프로젝트 단위의 개념(전역 스코프)을 사용하기에 같은 프로젝트 안의 소스코드에서 동일한 변수명을 사용하여 재정의하는 경우, 에러 발생
  • 따라서 타입스크립트를 이용하면 이름 충돌을 방지 가능
  • 만약, 이름을 특정 범위(scope) 내에서 사용하고 싶은 경우, namespace(구 - 내부 모듈)를 이용할 수 있음
let num: number = 1234;
let name: string = "조정곤";

1-1. namespace

//namespace 예시
let num: number = 1234;

// project1이라는 이름의 namespace 지정
namespace project1 {
  let num: number = 4567;
}
  • 이전에 내부 모듈로 불림
  • 동일한 소스코드 내에서 동일한 이름 사용으로 에러 발생하는 것을 피할 수 있음
  • 하지만, 파일이 다르더라도 같은 이름의 namespace 안에서 동일한 이름의 변수를 사용하면 역시 에러가 발생
  • 같은 네임스페이스에서는 같은 논리적 스코프를 가지기에 동시에 같은 변수명을 선언하면 중복이 되기 때문
  • 반대로 변수명이 동일해도 namespace명이 다르다면 문제는 발생하지 않음
  • 컴파일시, 반드시 --outFile 옵션을 사용하여 출력 js파일의 위치를 지정해주어야 함(그래야 namespace가 합쳐짐)
# --outFile 예시
> tsc ./namespace/app.ts --outFile dist/app.js
  • 단점
    • 모듈 시스템과 큰 차이가 없음
    • 컴파일 옵션을 지정하지 않을 경우, 의존성(Dependency)들이 불러오지 않더라도 오류메세지를 발생시키지 않고 정상적으로 컴파일하는 경우가 생김

참고출처 : 타입스크립트 모듈 & 네임스페이스 시스템 이해하기

typescriptprogrammingvariable
profile

조정곤

주니어 프론트엔드 개발자

github
linkedin
instagram
email

< 이전글

TypeScript 기본 특징

다음글 >

TypeScript 타입 시스템

Typescript 포스트 (15)

down-arrow