提问者:小点点

如何解析TypeRror:String.PadStart不是函数


我想给一个字段值加上前导零,这样如果它不是4位,就会加上前导零使它成为4位。 我取了字段值并将其变成字符串,但它给了我这个错误。

var relay=this.getField("RELAY NUM").value;
var relayString=relay.toString();

var leadingZeros=relayString.padStart(4,'0');


TypeError: relayString.padStart is not a function
5:Console:Exec

共1个答案

匿名用户

ES2017标准中定义了padStart。 您需要告诉typescript使用合适的打字方式(ES2017的打字方式)。 您可以通过将目标设置为ES2017来做到这一点,如果您的运行库支持ES2017所需的所有语言特性(编写本文时可能并非如此)。

另一个选项是只设置libs选项,以便根据ES2017获得运行时对象的类型,但仍然编译到您所针对的任何语言版本。(注意,运行时本身需要支持padStart,typescript不会提供任何poly-fill)

您可以在tsconfig中使用lib选项执行此操作:

"compilerOptions": {
    "target": "es2016",
    "lib": [
        "es2017",
        "dom"
        "scripthost"
    ],
    // ...
}