打字录入界面

打字录入界面
一般介绍

In Typescript, the function of the interface is to name these types and define contracts for your code or third party code.

接口

实例uff1a
功能打印标签(labelledobj:{标签:字符串}){
console.log(labelledobj。标签);
}
尺寸:10 = {让myobj时,标签:10号目标};
打印标签(myobj时);
打印标签函数有一个参数,这个参数是一个对象的要求,并且有一个属性的命名属性指定的字符串标签

有时我们传递多个参数,但只检测到指定的参数。

使用接口来实现上面的示例:
接口labelledvalue {
标签:字符串;
}
功能打印标签(labelledobj:labelledvalue){
console.log(labelledobj。标签);
}
尺寸:10 = {让myobj时,标签:10号目标};
打印标签(myobj时);
注意:使用关键字接口

可选属性

有时接口中的属性不需要是可选的,所以只需添加一个没关系.
接口squareconfig {
颜色:字符串;
宽度:数字;
}
功能createsquare(配置:squareconfig):{颜色:字符串;面积:{ {数量}
让newsquare = {颜色:白
如果(配置)颜色{
newsquare.color = config.color;
}
如果(配置宽度){
newsquare.area = config.width * config.width;
}
返回newsquare;
}
让mysquare = createsquare({颜色:黑});
在上面的代码中,配置:squareconfig指定函数参数,{颜色:字符串;面积:数}指定函数返回值的类型

使用可选属性的好处:

1。您可以定义可能的属性。

2。访问不存在的属性时可以捕获的错误

只读属性

只读可如果一个值是只读的,不能修改使用
接口点{
只读X:数;
只读:数;
}
设::10,y:20 };
P1 = x 5; / 错误!
Typescript readonlyarray型。它类似于数组。它只是消除对变量方法的恐惧,因此它可以确保数组在创建后不能被修改。
A:数字{ 1, 2, 3,4 };
让RO:readonlyarray =一;
RO 0 } = 12; / 错误!
Ro.push(5); / /错误!
ro.length = 100; / /错误!
一个!
附加属性检查

看一个例子:
接口squareconfig {
颜色:字符串;
宽度:数字;
}
功能createsquare(配置:squareconfig):{颜色:字符串;面积:{数量}

}
让mysquare = createsquare({颜色:红
起初,这被认为是正确的,接口定义了两个可选属性,颜色和宽度。函数实际上传递了接口定义的宽度属性和颜色属性,但是代码是错误的。

对象文字被特别处理,当它们被赋值给一个变量或作为参数传递时,将被附加属性检查。如果对象文本存在于目标类型中不包含的任何属性中,您将得到一个错误。

最好的解决方案是添加字符串索引签名。
接口squareconfig {
颜色:字符串;
宽度:数字;
{ }:任何propname:字符串;
}
功能型

实例uff1a
接口searchfunc {
(来源:字符串,字符串:字符串):布尔;
}
让我们祈祷:searchfunc;
祈祷=功能(SRC,子){
让结果= src.search(子);
如果(结果= - 1){
返回false;
}
{其他
返回true;
}
}
可转位式

可转位类型如{ 10 }或者OBJ {'a' }。可转位式有一个索引的签名,描述对象的指标和相应的索引返回类型的类型。
接口stringarray {
{索引:数字}:字符串;
}
让MyArray:StringArray;
MyArray = {Bob
让mystr:字符串数组MyArray { 0 };
以上是本文的全部内容,希望本文的内容能给大家的学习工作带来一定的帮助,同时也希望能给予更多的支持
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部