대부분 언어에서 발생할 수 있는 문제
import { b } from './const-b';
console.log({ b });
export const a: number = b + 1;
import { a } from './const-a';
console.log({ a })
export const b: number = a + 1;
import { a } from './const-a';
console.log(`result: ${a}`);
{ a: undefined }
{ b: NaN }
result: NaN
a.ts는 b.ts가 필요하고 b.ts는 a.ts가 필요한 상황
import { Y } from './class-y';
export class X {
public static sample() { return new Y(); }
}
import { X } from './class-x';
console.log({ X });
const x = new X();
export class Y {
public static sample() { return x; }
}
import { X } from './class-x';
console.log(X);
{ X: undefined }
\\class-y.js:4
var x = new class_x_1.X();
^
TypeError: class_x_1.X is not a constructor
at Object. (\\class-y.js:4:9)
at Module._compile (internal/modules/cjs/loader.js:778:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
at Module.load (internal/modules/cjs/loader.js:653:32)
at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
at Function.Module._load (internal/modules/cjs/loader.js:585:3)
at Module.require (internal/modules/cjs/loader.js:692:17)
at require (internal/modules/cjs/helpers.js:25:18)
at Object. (\\class-x.js:3:17)
at Module._compile (internal/modules/cjs/loader.js:778:30)