2つのシンプルなTypeScriptコードがあります。TypeScriptでコンパイルが許可されるのはなぜですか?
a.ts
console.log(a);
a.tsをコンパイルすることができますが、a.tsすることができますなぜコンパイラがb.ts
$ ./node_modules/.bin/tsc a.ts
$ ./node_modules/.bin/tsc b.ts
b.ts(1,13): error TS2304: Cannot find name 'a'.
のために文句を言い
console.log(name);
b.ts成功する? 私は本当に混乱しています。
私が使用していますv2.0.10
$ ./node_modules/.bin/tsc --version
Version 2.0.10
ベスト、
「名前」はグローバルスコープ内に存在する変数ですか? – eddiewould
'window.name'は、ウィンドウの名前を与えるあらかじめ定義されたプロパティです。 –
あなたのIDEがどんなにスマートなのかによって、 'name'がどこから来ているのかを伝えることができます。例えばvscodeでは、 'lib.d.ts'に' declare var name:string; 'という宣言が表示されます。 –