什么是环境声明

时间:2016-12-01 16:38:33

标签: typescript

我一直在使用提及public void ShowForm() { this.Show(); } private void button1_Click(object sender, EventArgs e) { Hello(); //Display your MessageBox based on the button click this.DialogResult = System.Windows.Forms.DialogResult.OK; } public void Hello() { MessageBox.Show("Hello"); } Dim test Set test = CreateObject("Playground_DLL.Form1") //This is where you initialize test.topMost = true //test.Hello() //This is to display the message box - not Form1 test.ShowForm(); //This displays Form1 的文章。例如this article。这些是什么?有人可以提供一个例子吗?环境声明是在现有的原型文件之外创建但在这些文件中使用的类型的声明吗?所有声明环境

据我所知,ambient declarations不会生成任何javascript代码,而是使用ambient declarations关键字定义的。这是环境声明的唯一情况还是其他情况?

1 个答案:

答案 0 :(得分:16)

是的,环境声明让你告诉编译器现有的变量/函数/等。

例如,让我们说您在自己的网页中使用了添加全局变量的库,让我们说它的名称是ON_READY并且它是对函数的引用 您需要为其分配一个功能,以便您执行以下操作:

ON_READY = () => {
    console.log("ready!");
    ...
};

编译器会抱怨:

  

找不到姓名' ON_READY'

因此,您使用环境声明来通知编译器此变量存在以及它的类型是什么:

declare var ON_READY: () => void;

现在它不会抱怨找不到它。

修改

使用declare关键字时,它始终是环境温度,就像您链接到的文章中所述:

  

declare关键字用于环境声明   定义一个可能不是源自TypeScript文件的变量

非环境声明只是正常的变量/函数声明:

let x: number;
const y = "string";
var a = () => { console.log("here"); }