Closed6

microsoft/TypeScriptを読んでみる(無謀)

Kaido IwamotoKaido Iwamoto

namespaceってなんだっけ?
存在は知ってるけどあまり使ったことがないので雰囲気しか分からない。それ以上知らなくても読めそうだけど。

Kaido IwamotoKaido Iwamoto

tsc.tsがコンパイルされてtsc.jsになり、それがtscの本体だということが分かった。
だが、tsc.tsが参照している関数などはimportされているわけではなくて、compilerとexecuteCommandLineディレクトリにあるコードが暗黙的に参照されている感じ。
(tsconfig.jsonに書いてある。)

Kaido IwamotoKaido Iwamoto

やっぱり暗黙的に参照されているコードが多いように感じる。
Javaでいうところのパッケージくらいの感じかもしれないけど、全部明示的にimportするESやPythonに慣れていると違和感ある。

Kaido IwamotoKaido Iwamoto

どうでも良いんだけど、Diagnosticsというエラーやコマンドラインオプションの説明などの文字列が入ったオブジェクトがどこにあるのかを見ていた。
diagnosticMessages.jsonというファイルに英語の文字列が定義されていて、他の言語はXMLファイルで定義されている。

Kaido IwamotoKaido Iwamoto

program.tsのcreateProgram関数で、Programというオブジェクトを作る。
これにファイルの情報などのあらゆる情報が詰まっていて、文法エラーを検出したり、型チェックを行ったりするメソッドもある。
型チェックはgetTypeChecker関数から得られるオブジェクトに関係してそうなので、次はそこを掘っていくつもり。

このスクラップは2024/06/04にクローズされました