TypeError: getFullYear() 不是 JavaScript 中的函数
TypeError: getFullYear() is not a Function in JavaScript
“TypeError: getFullYear is not a function”错误的发生有多种原因:
new
实例化对象时不使用运算符Date
。getFullYear()
在不是有效日期的对象上调用方法。- 方法拼写错误
getFullYear
。 - 在调用方法时放置第二组括号,例如
new Date().getFullYear()()
.
以下是错误发生方式的一些示例:
// ⛔️ did not use `new` operator const d1 = Date('Sept 24, 22 13:20:18').getFullYear(); // ------------------------------------------------- // ⛔️ did not spell `getFullYear` correctly const d2 = new Date('Sept 24, 22 13:20:18').getFullyear(); // ------------------------------------------------- // ⛔️ added a second set of parentheses const d3 = new Date('Sept 24, 22 13:20:18').getFullYear()(); // ------------------------------------------------- // ⛔️ not calling getFullYear on a valid date object const d4 = {}.getFullYear();
在第一个例子中,我们没有使用new
运算符来创建Date
对象,这是导致错误的原因。
// ⛔️ did not use `new` operator const d1 = Date('Sept 24, 22 13:20:18').getFullYear(); // ----------------------------------------------- // ✅ Correct const d1 = new Date('Sept 24, 22 13:20:18').getFullYear(); console.log(d1); // 👉️ 2022
确保new
在创建Date
对象时使用关键字。
在第二个示例中,我们没有
正确地将getFullYear()方法大写。
// ⛔️ did not spell `getFullYear` correctly const d2 = new Date('Sept 24, 22 13:20:18').getFullyear(); // -------------------------------------------------------- // ✅ correct const d2 = new Date('Sept 24, 22 13:20:18').getFullYear(); console.log(d2); // 👉️ 2022
在第三个示例中,我们添加了一组额外的括号,最终尝试对整数调用该方法。
// ⛔️ added a second set of parentheses const d3 = new Date('Sept 24, 22 13:20:18').getFullYear()(); // -------------------------------------------------------- // ✅ correct const d3 = new Date('Sept 24, 22 13:20:18').getFullYear(); console.log(d3); // 👉️ 2022
第四个示例getFullYear
在不是有效Date
对象的对象上调用方法。
// ⛔️ not calling getFullYear on a valid date object const d4 = {}.getFullYear(); // -------------------------------------------------------- // ✅ correct const d4 = new Date().getFullYear(); console.log(d4); // 👉️ 2022
确保仅getFullYear()
在有效Date
对象上调用该方法。
该getFullYear
方法返回调用该方法的日期对象的年份。
const d1 = new Date('Sept 24, 22 13:20:18').getFullYear(); console.log(d1); // 👉️ 2022
该getFullYear
方法只能在有效对象上调用Date
并返回代表年份的四位数字。
If you need to get the current year, you
don’t need to pass anything to the
Date() constructor.
const current = new Date().getFullYear(); console.log(current); // 👉️ 2023
If you pass an invalid date to the Date()
constructor, the getFullYear
method will return NaN
(not a number).
const d1 = new Date('invalid').getFullYear(); console.log(d1); // 👉️ NaN
You can console.log
the value you are calling the getFullYear
method on and
see if it’s a valid Date
object.
You should call the getFullYear
method on valid Date
objects.
# Conclusion
To solve the “getFullYear is not a function” error, make sure to only call the
getFullYear()
method on a valid Date
object.
The getFullYear
method returns the year of the date object the method was
called on.