可以在ES6类中创建私有属性吗?

这里有一个例子.

class Something {
  constructor(){
    this.property = "test";
  }
}

var instance = new Something();
console.log(instance.property); //=> "test"

推荐答案

Private class features等于Stage 3 proposal.它的大部分功能在所有主要浏览器上都是supported.

class Something {
  #property;

  constructor(){
    this.#property = "test";
  }

  #privateMethod() {
    return 'hello world';
  }

  getPrivateMessage() {
      return this.#property;
  }
}

const instance = new Something();
console.log(instance.property); //=> undefined
console.log(instance.privateMethod); //=> undefined
console.log(instance.getPrivateMessage()); //=> test
console.log(instance.#property); //=> Syntax error

Javascript相关问答推荐

如何判断属于多个元素的属性是否具有多个值之一

django无法解析余数:[0] from carray[0]'

useNavigation更改URL,但不呈现或显示组件

Phaser 3 console. log()特定游戏角色的瓷砖属性

如何使覆盖div与可水平滚动的父div相关?

配置WebAssembly/Emscripten本地生成问题

如何在和IF语句中使用||和&;&;?

FireBase云函数-函数外部的ENV变量

如何通过Axios在GraphQL查询中发送数组

如何在尚未创建的鼠标悬停事件上访问和着色div?

如果我的列有条件,我如何呈现图标?

JavaScript:多个图像错误处理程序

使用props 将VUE 3组件导入JS文件

Firebase函数中的FireStore WHERE子句无法执行

在每次重新加载页面时更改指针光标

由于http.get,*ngIf的延迟很大

单击时同时 Select 和展开可访问的行

为什么我的InDesign Java脚本不能完全工作?

VITE版本中的内联SVG

按下键盘上的空格键后,单词就会变色.我想在最后一封信之后立即给它们涂上 colored颜色