首页 > 解决方案 > 在 javascript 中的对象文字内的 IIFE 中使用“this”的问题

问题描述

我写了一个简单的学校对象。我想计算年龄并同时存储它。但是,如果我使用 IIFE 来执行此操作,这似乎变得未定义。如果我让它成为一个正常的功能,它工作正常。

请帮忙!

const date = new Date();
const currentYear = date.getFullYear();

let school = {
  name: "International Public School",
  yoe: 1970,
  age: (function() {
    return currentYear - this.yoe;
  })()
};
console.log(school);

也有人可以告诉我如何使用箭头函数来实现相同的目标吗?

标签: javascriptecmascript-6

解决方案


推荐阅读