1class myClass{
2
3constructor(){
4this.myLocaleVariable=1;//this.varname in the constructer function makes a locale var
5}
6localfunction(){
7return "im local unique to this variable";
8}
9static publicfunction(){
10return "i can be called without an obj"
11}
12
13}
14myClass.myPublicVariable = 0;
15
16
17
18myClass.localfunction();//error
19myClass.publicfunction();//"i can be called without an obj"
20myClass.myLocaleVariable;//error
21myClass.myPublicVariable;//0
22var obj = new myClass;
23obj.localfunction();//"im local unique to this variable"
24obj.publicfunction();//error
25obj.myLocaleVariable;//1
26obj.myPublicVariable;//error
27
1class Hi {
2 constructor() {
3 console.log("hi");
4 }
5 my_method(){}
6 static my_static_method() {}
7}
8
9function getStaticMethods(cl) {
10 return Object.getOwnPropertyNames(cl)
11}
12
13console.log(getStaticMethods(Hi))
14// => [ 'length', 'prototype', 'my_static_method', 'name' ]
15
1class ClassWithStaticMethod {
2 static staticMethod() {
3 return 'static method has been called.';
4 }
5}
6
7console.log(ClassWithStaticMethod.staticMethod());
8// expected output: "static method has been called."
9