class一个方法中控制返回的其他方法,为什么调用出错

class FieldStore {
      constructor() {
        this.store = {
          a: "sss",
        };
      }
      getFieldValue(name) {
        console.log(this);
        return this.store[name];
      }
      getForm = () => {
        return {
          getFieldValue: this.getFieldValue,
        };
      };
}
const fieldStore = new FieldStore();
console.log(fieldStore.getForm().getFieldValue("a"));

class一个方法中控制返回的其他方法,为什么调用出错?怎么解决

class FieldStore{
      constructor() {
        this.store = {
          a: "sss",
        };
      }
      getFieldValue(name) {
        console.log(this);
        return this.store[name];
      }
      getForm(){
        return {
          getFieldValue: this.getFieldValue.bind(this),
        };
      }
}
const fieldStore = new FieldStore();
console.log(fieldStore.getForm().getFieldValue("a"));