什么是课堂作业中的`as`?

时间:2018-04-10 10:28:01

标签: angular typescript

我尝试了google并查看了有角度的文档,但我并不知道我在寻找什么。

有人会解释这个" as"是什么?我在下面的代码中做错了什么?

我有组件A,它在组件B中使用,而变量在b'中声明为'答:我尝试使用A中的函数,但由于函数不存在,因此发生错误。

A.component.ts;

...

getValue ():Array<string> {
 return this.filter( elm => elm.length > 5 );
}

...

B.component.ts;

...

type C = A;

...

public coolArr: C;

printArr(param: any):void{
 coolArr = param as A;
 console.log(coolArr.getValue);
}

...

不确定我在这里做错了什么。

1 个答案:

答案 0 :(得分:2)

你的职能:

any

接受任何类型。它可以是null,对象,数组,任何东西。 (这就是为什么你不应该在你的打字稿代码中依赖coolArr = param as A; 。总是输入正确的类型。)

A

这里你告诉typescript编译器:该param实际上是A类型。这样对待它。基本上,你说你比编译器更清楚并且说:相信我,这将是coolArr类型。这适用于编译时

您现在遇到的错误是运行时问题。 for (**int i**; i < LED_Amount; i++){ digitalWrite(redLEDPins[i],LOW); digitalWrite(blueLEDPins[i],HIGH); Serial.println("Red off "); Serial.println("Blue on"); } 可能仍然是一个任何因素,因此你的后续期望将无效。