以下是official guide about module的一段代碼。Typescript速記環境模塊
import x, {y} from "hot-new-module";
x(y);
我不明白語法。爲什麼x不在大括號內?什麼是語法?
以下是official guide about module的一段代碼。Typescript速記環境模塊
import x, {y} from "hot-new-module";
x(y);
我不明白語法。爲什麼x不在大括號內?什麼是語法?
x
是默認導出。 y
是一個命名的導出。
Module.ts
export class y { }
const x = (someVar: y) => { /* */ };
export default x;
這是進口與你的語法
import x, {y} from "hot-new-module";
x(y);
我難以理解手冊的那部分太多,但最終我想通了。他們的意思是你可以有一個只包含declare module "mymodulename";
的聲明文件,然後你可以從該模塊導入任何東西,即使你沒有聲明任何東西。 這就是爲什麼您導入的任何東西都有任何類型的類型。例如:
shorthandmodule.d.ts
declare module "hot-new-module";
myscript.ts
import blabla, {x}, {anything} from "hot-new-module"
布拉布拉,X和任何是類型的任何這就是爲什麼你可以像
blabla(x)
x(blabla)
anything[x]
anything.unknownproperty = true
各地布拉布拉缺少大括號的意味着它是指一個default export
模塊中類的東西。每個模塊只能有1個默認導出,這就是爲什麼只有blabla沒有括號,但它可以是任何導入,因爲它們都沒有被聲明。