TypeError: toUTCString 不是 JavaScript 中的函数
TypeError: toUTCString is not a function in JavaScript
toUTCString()
当对不是日期对象的值调用该方法时,会发生“TypeError: toUTCString is not a function”错误
。
要解决该错误,请在调用该方法之前将该值转换为日期,或者确保仅对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()
有效的日期对象调用该方法。