如何使构造函数参数私有?

时间:2020-05-08 21:54:18

标签: javascript class

想知道是否可以将参数传递给私有以下的构造函数吗?我尝试使用函数包装,但没有成功。。但是,基本上,在设置了值之后,我不应该更改test.one的值。

class Test {
  constructor(one){
    this.one = one;
  }

  log(){
    console.log(this.one);
  }
}

const test = new Test(1);

test.log();

1 个答案:

答案 0 :(得分:3)

您可以使用#个名称(哈希名称)使用私有实例字段。您的情况如下:

class Test {
  #one

  constructor(one){
    this.#one = one;
  }

  log(){
    console.log(this.#one);
  }
}

const test = new Test(1);

test.log();
console.log(test.#one) // syntax error

参考文献:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/Class_fields#Private_instance_fields

相关问题