official document about Typescript moduleと読むとちょっと混乱します。Typescriptでモジュールをインポートする正しい方法は何ですか?
declare function require(moduleName: string): any;
// why declare require?
import { ZipCodeValidator as Zip } from "./ZipCodeValidator";
// Zip is being imported here, right?
if (needZipValidation) {
let ZipCodeValidator: typeof Zip = require("./ZipCodeValidator");
// Zip is already imported before if statement, why import again?
let validator = new ZipCodeValidator();
if (validator.isAcceptable("...")) { /* ... */ }
}
Question1:
import { ZipCodeValidator as Zip } from "./ZipCodeValidator";
このコード上の行の後、ZipCodeValidatorが既にロードされ、現在のファイルのモジュールでジップとして利用できます。なぜ後のif条件で次のコード行で再度ロードするのですか?
let ZipCodeValidator: typeof Zip = require("./ZipCodeValidator");
Noted:同じモジュールを別の方法でロードします.1つはインポート、もう1つはrequireです。なぜ異なる方法を使用していますか?
Question2:
なぜあなたは関数のシグネチャを必要と宣言する必要がありますか?宣言は何をしますか?宣言されている場合は、実装はどこですか?