JavaScript对象属性返回undefined

Ced*_*sen 0 javascript getter constructor undefined local-storage

我已经浏览了很多线程,搜索了很多并试图自己解决这个问题,但我不能.我试图打破我的问题.

我收到存储在本地存储中的字符串.

var c = localStorage.getItem('item');
Run Code Online (Sandbox Code Playgroud)

然后我将此值传递给构造函数,以将此值赋给对象的属性.这是类和构造函数.

class dataSet {
    constructor ( item ) {
      this.item = item;
    }

    get item() {
      return this._item;
    }
Run Code Online (Sandbox Code Playgroud)

在按钮的帮助下,我点击以下功能调用:

function buildSet() {
    var currentSet = new dataSet( c );
    document.write(currentSet.item);
    document.write(c);
}
Run Code Online (Sandbox Code Playgroud)

document.write(c)只是一个测试,看看是否存储了任何值,是的,我的'test'字符串被存储.结果,我得到:

undefinedTest

我是JavaScript的新手,我知道不知何故,dataSet对象没有获取值并且没有分配它,但我不知道如何解决它.我真的在stackoverflow上读取了这个主题的每个现有线程,但是无法提出解决方案.谢谢你的时间.

Kri*_*itk 6

您的错误在构造函数内!

你错过了一个 _

它应该是this._item = item;代替this.item = item;

因此你的吸气剂,即:

get item() {
  return this._item;
}
Run Code Online (Sandbox Code Playgroud)

返回undefined,因为没有_item属性......