类型错误:toUTCString 不是 JavaScript 中的函数

TypeError: toUTCString 不是 JavaScript 中的函数

TypeError: toUTCString is not a function in JavaScript

toUTCString()当对不是日期对象的值调用该方法时,会发生“TypeError: toUTCString is not a function”错误

要解决该错误,请在调用该方法之前将该值转换为日期,或者确保仅对toUTCString()有效的日期对象调用该方法。

typeerror toUTCString 不是一个函数

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

索引.js
const d = Date.now(); console.log(d); // 👉️ 1639.... // ⛔️ TypeError: toUTCString is not a function const result = d.toUTCString();

我们调用了Date.now()返回一个整数的函数,并尝试对其调用
Date.toUTCString()
方法,这导致了错误。

toUTCString()只在有效的日期对象上调用方法

要解决该错误,请确保仅对toUTCString()有效日期对象调用该方法。

索引.js
const d1 = new Date().toUTCString(); console.log(d1); const d2 = new Date('Sept 24, 22 13:20:18').toUTCString(); console.log(d2); // 👉️ Sat, Sep 24 2022 10:20:18 GMT

您可以通过将有效日期传递给
Date()
构造函数来获取日期对象。

请注意,如果将无效日期传递给Date()构造函数,您将返回“无效日期”。

索引.js
const d1 = new Date('invalid').toUTCString(); console.log(d1); // 👉️ "Invalid Date"

您可以console.log查看调用该toUTCString方法的值,看看它是否是有效Date对象。

在调用之前检查该值是否为有效日期toUTCString

您可以通过以下方式有条件地检查该值是否为Date对象。

索引.js
const d1 = new Date(); if (typeof d1 === 'object' && d1 !== null && 'toUTCString' in d1) { const result = d1.toUTCString(); console.log(result); // 👉️ Thu, Dec 16 ... }

我们的if条件使用逻辑与 (&&) 运算符,因此if要运行该块,必须满足所有条件。

我们首先检查d1变量是否存储了一个对象类型的值,因为日期的类型是object.

然后我们检查变量是否不等于null不幸的是,如果您使用 来检查 null 的类型console.log(typeof null),您将得到一个
"object"值,因此我们必须确保该值不是null

索引.js
console.log(typeof null); // 👉️ object
我们检查的最后一件事是对象包含属性。 toUTCString

然后我们知道我们可以安全地调用toUTCString对象上的方法。

结论#

toUTCString()当对不是日期对象的值调用该方法时,会发生“TypeError: toUTCString is not a function”错误

要解决该错误,请在调用该方法之前将该值转换为日期,或者确保仅对toUTCString()有效的日期对象调用该方法。