TypeScript Playground: 브라우저에서 즉시 실험하기

설치 없이 브라우저에서 TypeScript를 바로 실험할 수 있는 공식 Playground 사용법, 주요 기능, 학습 팁을 소개한다.

· 6 min read · PALDYN Team

지난 글에서 tsc 컴파일러 동작 원리를 파악했다. 이번 편에서는 환경 설정 없이 브라우저에서 TypeScript를 즉시 실험할 수 있는 공식 TypeScript Playground를 소개한다.

TypeScript Playground란

TypeScript 공식 팀이 제공하는 온라인 편집기로, typescriptlang.org/play에서 바로 접근할 수 있다. 설치, 빌드 단계 없이 타입스크립트 코드를 작성하고 결과를 즉시 확인할 수 있다.

TypeScript Playground 인터페이스

Playground는 크게 세 영역으로 구성된다.

  • 왼쪽 패널: TypeScript 코드 작성 영역
  • 오른쪽 패널: JavaScript 출력, 타입 선언(.d.ts), 에러 목록 중 선택
  • 하단 패널: 오류 메시지 목록

기본 사용법

Playground에 코드를 입력하면 실시간으로 JavaScript 출력이 업데이트된다.

// Playground에 입력
interface Point {
  x: number;
  y: number;
}

function distance(a: Point, b: Point): number {
  return Math.sqrt((b.x - a.x) ** 2 + (b.y - a.y) ** 2);
}

const p1: Point = { x: 0, y: 0 };
const p2: Point = { x: 3, y: 4 };
console.log(distance(p1, p2)); // 5

오른쪽 패널에서 “JS” 탭을 선택하면 컴파일된 JavaScript를 확인할 수 있다. interface Point가 사라진 것을 직접 눈으로 볼 수 있다.

실시간 타입 추론 확인

Playground의 가장 강력한 기능은 **타입 호버(hover)**다. 변수나 함수 위에 마우스를 올리면 TypeScript가 추론한 타입이 팝업으로 표시된다.

실시간 타입 추론 확인

const numbers = [1, 2, 3, 4, 5];
// numbers 위에 호버하면: const numbers: number[]

const doubled = numbers.map(n => n * 2);
// doubled 위에 호버하면: const doubled: number[]

const first = numbers[0];
// first 위에 호버하면: const first: number

이 기능은 “TypeScript가 지금 이 코드를 어떻게 이해하고 있는가”를 즉시 파악하게 해준다. 타입 추론이 예상과 다르게 동작할 때 Playground에서 확인하면 디버깅이 빨라진다.

오류 메시지 실험

Playground는 타입 에러 메시지를 이해하는 연습에도 좋다.

// 다음 코드를 Playground에 입력해보자
function greet(name: string): string {
  return name.length;  // Error!
}

에러 메시지: Type 'number' is not assignable to type 'string'

함수가 string 반환을 선언했는데 numbername.length를 반환하려고 해서 발생한다. 에러 메시지를 읽는 법을 익히는 데 Playground가 최적의 환경이다.

다양한 설정 실험

Playground 상단의 “TS Config” 패널에서 컴파일러 옵션을 실시간으로 변경할 수 있다.

// strictNullChecks 끄고 켜보면서 차이 확인
let name: string;
name = null;  // strictNullChecks: true면 에러, false면 허용

strict, target, lib 등 다양한 옵션이 코드에 어떤 영향을 미치는지 직접 실험해보자.

TypeScript 버전 전환

Playground 상단에서 TypeScript 버전을 선택할 수 있다. 과거 버전부터 최신 베타까지 전환 가능하다.

새로운 TypeScript 기능이 어느 버전부터 추가됐는지 확인할 때 유용하다. 예를 들어 satisfies 연산자는 TypeScript 4.9부터, const 타입 파라미터는 5.0부터 추가됐다.

공유 URL로 협업

Playground의 코드는 URL에 인코딩된다. 주소창의 URL을 복사해서 팀원에게 공유하면 같은 코드 상태를 즉시 볼 수 있다.

Stack Overflow나 GitHub Issue에서 TypeScript 관련 질문을 할 때 Playground 링크를 첨부하면 훨씬 빠른 도움을 받을 수 있다.

공식 예제 활용

Playground 상단의 “Examples” 메뉴에는 TypeScript 팀이 준비한 공식 예제가 카테고리별로 정리돼 있다.

  • JavaScript Essentials: JS와 TS의 관계
  • TypeScript Essentials: 기본 타입, 유니언, 인터페이스
  • Playground: 재미있는 타입 실험

시리즈를 따라가면서 각 개념을 배울 때 관련 예제를 Playground에서 직접 실행해보는 것이 학습 효과를 높인다.

로컬 환경 vs Playground

상황권장 도구
개념 실험 / 에러 재현Playground
팀원에게 코드 공유Playground
새 TypeScript 기능 탐색Playground
실제 프로젝트 개발로컬 + VS Code
파일 시스템 접근 필요로컬 환경

Playground는 학습과 실험을 위한 최적의 도구다. 다음 편에서는 로컬 환경에서 첫 TypeScript 프로그램을 작성하고 실행하는 전 과정을 다룬다.


지난 글: tsc 컴파일러 완전 해부: 동작 원리와 옵션

다음 글: 첫 TypeScript 프로그램: Hello, Types!


읽어주셔서 감사합니다. 😊