类型错误:getFullYear() 不是 JavaScript 中的函数

TypeError: getFullYear() 不是 JavaScript 中的函数

TypeError: getFullYear() is not a Function in JavaScript

“TypeError: getFullYear is not a function”错误的发生有多种原因:

  • new实例化对象时不使用运算符Date
  • getFullYear()在不是有效日期的对象上调用方法。
  • 方法拼写错误getFullYear
  • 在调用方法时放置第二组括号,例如
    new Date().getFullYear()().

typeerror getfullyear 不是函数

以下是错误发生方式的一些示例:

索引.js
// ⛔️ 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
对象,这是导致错误的原因。

索引.js
// ⛔️ 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()方法大写。

索引.js
// ⛔️ 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

在第三个示例中,我们添加了一组额外的括号,最终尝试对整数调用该方法。

索引.js
// ⛔️ 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对象的对象上调用方法。

索引.js
// ⛔️ not calling getFullYear on a valid date object const d4 = {}.getFullYear(); // -------------------------------------------------------- // ✅ correct const d4 = new Date().getFullYear(); console.log(d4); // 👉️ 2022

确保仅getFullYear()在有效Date对象上调用该方法。

getFullYear方法返回调用该方法的日期对象的年份。

索引.js
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.

index.js
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).

index.js
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.