세 Bun 개념이 진짜 사용에서 반복적으로 surface; 이해하면 대부분 놀람 방지.
네이티브 TypeScript. Bun 이 .ts 와 .tsx 파일 직접 실행. tsc 컴파일 단계 없음, 시작에 tsconfig.json 안 필요. 후드 아래선 Bun 이 런타임에 type annotation 제거 — 타입 erase, JS 실행. 빠른데 의미하는 게 Bun 이 type-check 안 함. type 에러 있으면 Bun 이 안 잡음; 여전히 CI 에서 bunx tsc --noEmit 필요.
Binary lockfile (bun.lock). 옛 Bun 버전이 bun.lockb 사용 (순수 binary); 현재 버전이 bun.lock 사용 (텍스트 기반, 그치만 여전히 파싱 속도 최적화된 Structure-of-Arrays 형식). 어쨌든 파일 형식이 의도적으로 JSON 기반 lockfile 보다 빠르게 파싱. 항상 commit.
Drop-in npm 대체. Bun 이 같은 package.json 읽음, 같은 npm registry 와 talk, 같은 node_modules 채움. Node.js 패키지에게 Bun 이 Node.js v24.3.0 처럼 보임 (호환성 위해 버전 spoof). 대부분 패키지 '그냥 작동'. 예외: native addon (Node 의 V8 internal 에 의존하는 컴파일된 C++ — 가끔 깨짐), 일부 niche Node 전용 API (모든 release 마다 개선), 매우 tight Node 버전 체크 가진 패키지.