js class static property & public class fields & private class fields
js class static property
class static property (public class fields)
const log = console.log;
class ESNextStaticProperty {
static username = "xgqfrms";
}
log(ESNextStaticProperty.username);
// "xgqfrms"
ESNextStaticProperty.name;
// "ESNextStaticProperty"
equal to
const log = console.log;
class ES6StaticProperty {
// static name = "xgqfrms";
}
ES6StaticProperty.username = "xgqfrms";
log(ESNextStaticProperty.username);
// "xgqfrms"
ES6StaticProperty.name;
// "ES6StaticProperty"
https://javascript.info/static-properties-methods#static-properties

public class fields
class ClassWithInstanceField {
instanceField = 'instance field'
}
class ClassWithStaticField {
static staticField = 'static field'
}
class ClassWithPublicInstanceMethod {
publicMethod() {
return 'hello world'
}
}
private class fields
class ClassWithPrivateField {
#privateField
}
class ClassWithPrivateMethod {
#privateMethod() {
return 'hello world'
}
}
class ClassWithPrivateStaticField {
static #PRIVATE_STATIC_FIELD
}
demos
static properties
const log = console.log;
class ClassWithStaticProperty {
static staticProperty = `this is a static property `;
}
const test = ClassWithStaticProperty.staticProperty;
log(test);
// "this is a static property"
static methods
const log = console.log;
class ClassWithStaticMethod {
static staticMethod() {
log(`static method has been called`);
return `static method`;
}
}
const test = ClassWithStaticMethod.staticMethod();
// "static method has been called"
log(test);
// "static method"
web components
class EmojiElement extends HTMLElement {
constructor() {
super();
this.shadow = this.shadowRoot;
// ... web components
const template = document.querySelect(`[data-template="emoji-template"]`);
this.templateContent = template.content.cloneNode(true);
this.shadowEmoji.appendChild(this.templateContent);
// 添加样式到 Shadow DOM (template)
if (window.ShadyCSS) {
window.ShadyCSS.prepareTemplate(template, EmojiElement.tagName);
}
}
static tagName = `emoji-element`;
connect() {
log(`connect`);
}
disconnect() {
log(`disconnect`);
}
}
customElements.define(EmojiElement.tagName, EmojiElement);
Emoji.tagName;
// "emoji-element"
refs
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/static
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/Public_class_fields
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/Private_class_fields
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes#Static_methods
https://javascript.info/static-properties-methods#static-properties
http://thecodebarbarian.com/static-properties-in-javascript-with-inheritance.html
https://www.sitepoint.com/javascript-private-class-fields/
https://medium.com/@assortedPickle/es6-static-properties-b7fd2a163328
xgqfrms 2012-2020
www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!
js class static property & public class fields & private class fields的更多相关文章
- 浅析java修饰符之public default protected private static final abstract
浅析java修饰符之public default protected private static final abstract 一 修饰符的作用:用来定义类.方法或者变量,通常放在语句的最前端 ...
- 详解Java中的访问控制修饰符(public, protected, default, private)
Java中的访问控制修饰符已经困惑笔者多时,其中较复杂的情况一直不能理解透彻.今天下定决心,系统.全面地研究Java中的访问控制修饰符的所有方面,并整理成这篇文章,希望有同样疑惑的读者读完后能有所收获 ...
- 已知有一个Worker 类如下: public class Worker { private int age; private String name; private double salary; public Worker (){} public Worker (String nam
package homework006; public class Worker { private int age; private String name; private double sala ...
- java 修饰符的作用一(public protected default private 组)
1.public protected default private 组 public 权限最大,同类,同包,不同包,同包子类父类之间,不同包子类父类之间都可以访问. java 默认的权限是defau ...
- Java访问权限修饰符public protected friendly private用法总结(转载好文Mark)
首先声明:Java中,friendly这个修饰符并没有显式的声明,在成员变量和方法前什么修饰符也不用,默认的就是friendly.为了条理清晰,分三种不同情况来总结. 一 访问权限修饰符修饰成员变量和 ...
- c# 单元测试 ,对静态方法(static)和私有方法(private) 进行单元测试
利用反射: /// <summary> /// 调用静态方法 /// </summary>akf /// <param name="t">类全名 ...
- Azure PowerShell (9) 使用PowerShell导出订阅下所有的Azure VM的Public IP和Private IP
<Windows Azure Platform 系列文章目录> 笔者在之前的工作中,有客户提出想一次性查看Azure订阅下的所有Azure VM的Public IP和Private IP. ...
- public,protected,friendly,private的访问权限
请说出作用域public,private,protected,以及不写时的区别 这四个作用域的可见范围如下表所示. 说明:如果在修饰的元素上面没有写任何访问修饰符,则表示friendly. 作用域 ...
- java public protect default private
(1)对于public修饰符,它具有最大的访问权限,可以访问任何一个在CLASSPATH下的类.接口.异常等.它往往用于对外的情况,也就是对象或类对外的一种接口的形式. (2)对于protected修 ...
随机推荐
- ETL调优的一些分享(下)(转载)
如在上篇文章<ETL调优的一些分享(上)>中已介绍的,ETL是构建数据仓库的必经一环,它的执行性能对于数据仓库构建性能有重要意义,因此对它进行有效的调优将十分重要.ETL业务的调优可以从若 ...
- 成功解决Git:fatal: refusing to merge unrelated histories
Get 报错 如果合并了两个不同的开始提交的仓库,在新的 git 会发现这两个仓库可能不是同一个,为了防止开发者上传错误,于是就给下面的提示 fatal: refusing to merge unre ...
- 浏览器关闭后,Session就销毁了吗?
https://blog.csdn.net/QQ1012421396/article/details/70842148 话题: 当浏览器关闭后,Session就销毁了吗?答案: ...
- hbuilder使用技巧总结
HBuilder是DCloud(数字天堂)推出的一款支持HTML5的Web开发IDE.HBuilder的编写用到了Java.C.Web和Ruby.HBuilder本身主体是由Java编写,它基于Ecl ...
- 浅谈正向代理、反向代理和CDN的区别
一.正向代理 1.正向代理位于客户端和源服务器之间的服务器(代理服务器): 2.隐藏客户端:由代理服务器代替客户端去访问目标服务器,用户需要设置代理服务器的IP和端口: 3.每一次请求是到代理服务器, ...
- Prometheus+Grafana监控SpringBoot
Prometheus+Grafana监控SpringBoot 一.Prometheus监控SpringBoot 1.1 pom.xml添加依赖 1.2 修改application.yml配置文件 1. ...
- 制作MySQL的Windows服务+创建用户及授权
在上一篇随笔中详述了MySQL的Windows 64位版本的安装,以及初始化操作.启动服务端.客户端连接.一些基本的文件操作等.然而在进行这些操作的时候,需要我们去输入一长串的路径和命令才能 ...
- 并发编程补充--方法interrupted、isinterrupted详解
并发编程 interrupted()源码 /** * Tests whether the current thread has been interrupted. The * <i>int ...
- Codeforces Round #680 (Div. 2, based on Moscow Team Olympiad)【ABCD】
比赛链接:https://codeforces.com/contest/1445 A. Array Rearrangment 题意 给定两个大小均为 \(n\) 的升序数组 \(a\) 和 \(b\) ...
- Educational Codeforces Round 86 (Div. 2)
比赛链接:https://codeforces.com/contest/1342 A - Road To Zero 题意 有两个非负整数 x, y 以及两种操作: 支付 a 点代价使其中一个数加一或减 ...