TypeError:padStart 不是 JavaScript 中的函数

TypeError: padStart 不是 JavaScript 中的函数

TypeError: padStart is not a function in JavaScript

“TypeError: padStart is not a function” 当我们
padStart()对一个不是字符串的值调用该方法时发生。

要解决该错误,请使用该toString()
方法将值转换为字符串,或确保仅对
padStart字符串调用该方法。

typeerror padstart 不是函数

下面是错误如何发生的示例。

索引.js
const num = 123; // ⛔️ TypeError: padStart is not a function const result = num.padStart(5, '0');

我们在对象上调用了
String.padStart
方法并返回了错误。

padStart只在字符串上调用方法

要解决该错误,请确保仅对padStart()字符串调用该方法。您可以使用toString()方法将大多数值转换为字符串。

索引.js
const num = 123; const result = num.toString().padStart(5, '0'); console.log(result); // 👉️ "00123"

您还可以使用String()构造函数将值转换为字符串。

索引.js
const num = 123; const result = String(num).padStart(5, '0'); console.log(result); // 👉️ "00123"

String()构造函数返回所提供值的字符串表示形式

在调用之前检查该值是否为字符串padStart

padStart()或者,您可以在调用该方法之前检查该值是否为字符串

索引.js
const str = null; const result = typeof str === 'string' ? str.padStart(5, '0') : ''; console.log(result); // 👉️ ""

我们使用三元运算符来检查str变量是否存储字符串。

如果是,则返回逗号左侧的值,否则返回右侧的值。

您还可以使用简单的if语句来检查该值是否为字符串。

索引.js
const str = null; const result = ''; if (typeof str === 'string') { result = str.padStart(5, '0'); } console.log(result); // 👉️ ""
如果值是一个字符串,我们返回调用方法的结果,否则我们返回一个空字符串以保持一致。 padStart

调用padStart数组中的所有字符串

如果要对padStart数组中的所有字符串使用该方法,可以使用该map方法遍历数组并对padStart
每个字符串调用该方法。

索引.js
const arr = ['A', 'B', 'C']; const result = arr.map(str => str.padStart(2, '_')); // 👇️ ['_A', '_B', '_C'] console.log(result);

我们传递给
Array.map
方法的函数会针对数组中的每个元素进行调用。

map()方法返回一个新数组,其中包含从回调函数返回的值。

如果错误仍然存​​在,请检查console.log您调用padStart
方法的值并使用运算符检查其类型
typeof

If the value is an object, there’s a very good chance that you are forgetting to
access a specific property on which you need to call the padStart() method.

index.js
// ✅ with objects const obj = { name: 'abc', }; const result1 = obj.name.padStart(5, '_'); console.log(result1); // 👉️ __abc // ----------------------------------- // ✅ with arrays const arr = ['a', 'b', 'c']; const result2 = arr[0].padStart(5, '-'); console.log(result2); // 👉️ ----a

We accessed a property in the object and an element in the array before calling
padStart.

Conclusion #

The “TypeError: padStart is not a function” occurs when we call the
padStart() method on a value that is not a string.

To solve the error, convert the value to a string using the toString()
method or make sure to only call the padStart method on strings.