这里的解释非常简短:
不要使用接受字符串参数的函数构造函数版本来定义函数的主体
也许也适用于规则missing-optional-annotation
:
跟随一个或多个标记为可选的参数的参数本身并不标记为可选
最好的例子可能是 tslint 测试套件中使用的那个。
var f = new Function("doSomething()");
这将导致违反no-function-constructor-with-string-args
规则。
对于missing-optional-annotation
,在以下示例中:
constructor(requiredArg1, optionalArg2?, requiredArg3) {}
第二个参数是可选的,但第三个参数不是。这是不允许的,并且会产生冲突。