官术网_书友最值得收藏!

--noImplicitAny

This forces us to explicitly specify the any type where we want to use it. This forces us to think about our use of any and whether we really need it.

Let's explore this with an example:

  1. Let's add a doSomething method to our OrderDetail class that has a parameter called input with no type annotation:
export class OrderDetail {
...
doSomething(input) {
input.something();
return input.result;
}
}
  1. Let's do a compilation with the --noImplicitAny flag in the Terminal:
tsc orderDetail --noImplicitAny

The compiler outputs the following error message because we haven't explicitly said what type the input parameter is:

orderDetail.ts(14,15): error TS7006: Parameter 'input' implicitly has an 'any' type.
  1. We can fix this by adding a type annotation with any or, better still, something more specific:
doSomething(input: {something: () => void, result: string}) {
input.something();
return input.result;
}

If we do a compilation with --noImplicitAny again, the compiler is happy.

主站蜘蛛池模板: 时尚| 左云县| 万安县| 辽宁省| 肃北| 江山市| 沁阳市| 肥城市| 比如县| 榆林市| 保山市| 万载县| 澎湖县| 宁南县| 温宿县| 安泽县| 岳西县| 常山县| 屯昌县| 青龙| 泰顺县| 遂平县| 涟源市| 沅陵县| 南川市| 合作市| 崇信县| 丹棱县| 尉氏县| 彭泽县| 玉环县| 嘉义市| 西峡县| 肃宁县| 南宁市| 宝山区| 五指山市| 黔南| 遂川县| 邵东县| 昭觉县|