Es gibt zwei einfache TypeScript-Codes.Warum erlaubt TypeScript das Übersetzen?
a.ts
console.log(name);
b.ts
console.log(a);
a.ts kompiliert werden kann, aber Compiler beschwert für b.ts
$ ./node_modules/.bin/tsc a.ts
$ ./node_modules/.bin/tsc b.ts
b.ts(1,13): error TS2304: Cannot find name 'a'.
Warum a.ts kann erfolgreich sein? Ich bin wirklich verwirrt.
Ich bin mit v2.0.10
$ ./node_modules/.bin/tsc --version
Version 2.0.10
Best,
Vielleicht ist "Name" eine Variable, die im globalen Geltungsbereich existiert? – eddiewould
'window.name' ist eine vordefinierte Eigenschaft, die den Namen des Fensters angibt. –
Abhängig davon, wie intelligent Ihre IDE ist, ist es wahrscheinlich in der Lage, Ihnen zu sagen, woher 'name' kommt. In vscode zum Beispiel zeigt es mir die Deklaration 'declare var name: string;' in 'lib.d.ts'. –