Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript TypeScript中函数或变量的约定是什么_Javascript_Typescript_Contract - Fatal编程技术网

Javascript TypeScript中函数或变量的约定是什么

Javascript TypeScript中函数或变量的约定是什么,javascript,typescript,contract,Javascript,Typescript,Contract,我是TypeScript的新手,在我的机器上成功安装了它之后,我在TypeScript的官方文档页面上遇到了一句话“TypeScript中的类型注释是记录函数或变量预期契约的轻量级方法” 在TypeScript的函数或变量上下文中,contract一词是什么 我看的例子是: function greeter(person: string){ return "Hello, " + person; } var user = "Jane User"; document.body.innerH

我是TypeScript的新手,在我的机器上成功安装了它之后,我在TypeScript的官方文档页面上遇到了一句话“TypeScript中的类型注释是记录函数或变量预期契约的轻量级方法”

在TypeScript的函数或变量上下文中,contract一词是什么

我看的例子是:

function greeter(person: string){
   return "Hello, " + person;
}

var user = "Jane User";

document.body.innerHTML=greeter(user);
这与函数变量person附带的字符串注释有关吗

在此方面的任何帮助都将不胜感激


如果你对合同这个词感兴趣,这里有一个官方的链接:正如你可以期望你的雇主根据你的合同在每个月底支付你的工资一样,你可以期望迎宾员的论点是一个字符串(但是你可以很容易地打破这个合同)

我将尝试使用示例进行解释。 代码如下:

function greeter(person: string){
   return "Hello, " + person;
}

var user = "Jane User";

document.body.innerHTML=greeter(user);
我们已经从向greeter()函数传递字符串值转变为传递数值。与JavaScript的动态特性一样,它并不在意——它只是继续将其转换为字符串,以便将其呈现给浏览器。TypeScript也很高兴,因为数字可以转换成字符串

问题是:这不是我的本意。我只打算让greeter方法接受字符串值,但JavaScript不允许我表达这个意图。我能保证参数值是字符串的唯一方法是编写代码在javascript中运行时检查它


这里是打字脚本“预期合同”的用场。如果我只希望传入字符串,我可以明确地说value参数是字符串。

Ahh,这很有意义。