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修 ...
随机推荐
- Mybatis报错:Could not find resource mybatis-conf.xml
Mybatis报错:Could not find resource mybatis-conf.xml 报错截图: 报错内容: java.io.IOException: Could not find r ...
- gradles理解和文件配置
gradle gradle tasks :查看所有的taske命令 bootJar:打包,讲项目的所有依赖和主工程代码打包,一个可直接执行的一个包,不需要tomcat运行 gradle使用bootja ...
- fiddler安装以及使用说明
一.fiddler fiddler是一个抓包工具,通过使用它抓包我们可以很清晰的看到抓的内容的协议,URL,参数等. 1.安装 在普通下载网站找到安装包,直接安装,点击下一步即可. 二.使用 1.se ...
- 不占用额外内存空间能否做到 将图像旋转90度 N × N矩阵表示的图像,其中每个像素的大小为4字节
给定一幅由N × N矩阵表示的图像,其中每个像素的大小为4字节,编写一种方法,将图像旋转90度. 不占用额外内存空间能否做到? 示例 1: 给定 matrix = [ [1,2,3], [4,5,6] ...
- (007)每日SQL学习:将字符和数字分离
with aa as ( select 'sad10' as data from dual union all select 'datf20' as data from dual union all ...
- php中一种单引号逃逸造成的注入
demo如下: $post = $_POST; $sql=''; $array['name'] = $post['name']; $array['age'] = 18; $array['addr'] ...
- SpringMVC听课笔记(七:Restful CRUD)
这章貌似没有什么可讲的,可以看GitHub工程代码: https://github.com/heyboom/SpringMVC_Rest_CRUD
- 回归(Regression)
回归(Regression) 生活中的很多事物之间是相互影响的,如商品的质量跟用户的满意度密切相关.而回归分析是要分析两个事物间的因果关系,即哪一个是自变量和因变量,以及自变量和因变量之间的关系:回归 ...
- MongoTemplate聚合(一)$lookup
mongodb 最近入职了新的公司,新公司统一使用的mongodb,es等非关系型数据库.以前对es有一些了解,其实就是灵活的文档类型结构,不受限于关系型数据库的那种字段唯一确定的"死板 ...
- day133:2RenMJ:TypeScript的变量&函数&类&接口
目录 1.变量 2.函数 3.类 4.接口 1.变量 1.变量的声明 // 1.即指定数据类型 也指定值 var 变量名:类型 = 值; eg:var username:string = " ...