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的更多相关文章

  1. 浅析java修饰符之public default protected private static final abstract

    浅析java修饰符之public default protected private static final abstract 一   修饰符的作用:用来定义类.方法或者变量,通常放在语句的最前端 ...

  2. 详解Java中的访问控制修饰符(public, protected, default, private)

    Java中的访问控制修饰符已经困惑笔者多时,其中较复杂的情况一直不能理解透彻.今天下定决心,系统.全面地研究Java中的访问控制修饰符的所有方面,并整理成这篇文章,希望有同样疑惑的读者读完后能有所收获 ...

  3. 已知有一个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 ...

  4. java 修饰符的作用一(public protected default private 组)

    1.public protected default private 组 public 权限最大,同类,同包,不同包,同包子类父类之间,不同包子类父类之间都可以访问. java 默认的权限是defau ...

  5. Java访问权限修饰符public protected friendly private用法总结(转载好文Mark)

    首先声明:Java中,friendly这个修饰符并没有显式的声明,在成员变量和方法前什么修饰符也不用,默认的就是friendly.为了条理清晰,分三种不同情况来总结. 一 访问权限修饰符修饰成员变量和 ...

  6. c# 单元测试 ,对静态方法(static)和私有方法(private) 进行单元测试

    利用反射: /// <summary> /// 调用静态方法 /// </summary>akf /// <param name="t">类全名 ...

  7. Azure PowerShell (9) 使用PowerShell导出订阅下所有的Azure VM的Public IP和Private IP

    <Windows Azure Platform 系列文章目录> 笔者在之前的工作中,有客户提出想一次性查看Azure订阅下的所有Azure VM的Public IP和Private IP. ...

  8. public,protected,friendly,private的访问权限

    请说出作用域public,private,protected,以及不写时的区别 这四个作用域的可见范围如下表所示. 说明:如果在修饰的元素上面没有写任何访问修饰符,则表示friendly. 作用域   ...

  9. java public protect default private

    (1)对于public修饰符,它具有最大的访问权限,可以访问任何一个在CLASSPATH下的类.接口.异常等.它往往用于对外的情况,也就是对象或类对外的一种接口的形式. (2)对于protected修 ...

随机推荐

  1. 提取一个int类型数最右侧的1

    提取一个int类型数最右侧的1 算法描述 把一个int类型的数,提取出最右侧的1来,例如: 6 对应的二进制位 0000 0110,那么取出来的应该是0000 0010 算法思路 对原数0000 01 ...

  2. 采用pandas读取文件,进行自动化统计小程序

    自己完成的第二个自动化统计小程序,完成之后感觉:命名不够规范,造成可读性比较没那么好,幸好给自己很多地方都加了注释#coding:utf-8import os,sysimport reimport x ...

  3. JVM类加载与双亲委派机制被打破

    前言 前文已经讲了虚拟机将java文件编译成class文件后的格式:JVM虚拟机Class类文件研究分析 java文件经过编译,形成class文件,那么虚拟机如何将这些Class文件读取到内存中呢? ...

  4. react+ant design 项目执行yarn run eject 命令后无法启动项目

    如何将内建配置全部暴露? 使用create-react-app结合antd搭建的项目中,项目目录没有该项目所有的内建配置, 1.执行yarn run eject 执行该命令后,运行项目yarn sta ...

  5. (十五)整合 Drools规则引擎,实现高效的业务规则

    整合 Drools规则引擎,实现高效的业务规则 1.Drools引擎简介 1.1 规则语法 2.SpringBoot整合Drools 2.1 项目结构 2.2 核心依赖 2.3 配置文件 3.演示案例 ...

  6. OSPF总结

    参考文档:OSPF知识点总结(华为)https://wenku.baidu.com/view/8cc8ab52a36925c52cc58bd63186bceb19e8edf6.html OSPF概念 ...

  7. zabbix错收告警

    这种情况一般出现在重新调整host或者group导致action里的condition发生变化.此时如果一直不能恢复,可尝试将action disable在enable.

  8. 高斯消元初步(Gauss算法)

    Gauss算法,称为高斯消元算法,用来解决n元一次方程,在解决线性方程问题起着重要作用. 简述 运用高斯消元的方法,我们可以在O(n3)的时间求出n元线性方程,但是由于时间复杂度的原因,请注意题目数据 ...

  9. 【uva 1151】Buy or Build(图论--最小生成树+二进制枚举状态)

    题意:平面上有N个点(1≤N≤1000),若要新建边,费用是2点的欧几里德距离的平方.另外还有Q个套餐,每个套餐里的点互相联通,总费用为Ci.问让所有N个点连通的最小费用.(2组数据的输出之间要求有换 ...

  10. Educational Codeforces Round 89 (Rated for Div. 2) C. Palindromic Paths (思维)

    题意:有一个\(n\)x\(m\)的矩阵,从\((1,1)\)出发走到\((n,m)\),问最少修改多少个数,使得所有路径上的数对应相等(e.g:\((1,2)\)和\((n-1,m)\)或\((2, ...