Class Function - , " ", . JS JavaScript, AST, , ClassDeclaration ClassExpression - node AST :
https://github.com/estree/estree/blob/master/es2015.md#classes
, ES6 AST:
- ClassBody
- MethodDefinition
- ClassDeclaration
- ClassExpression
- MetaProperty
AST , , , , - JavaScript.
, . ,
class notWorking {
return 1;
};
, , ClassBody ClassDeclaration, ClassExpression, expexts, MethodDefinitions.
, . :
function myClass() {
var privateVar;
}
:
class myClass {
var privateVar;
}
, . , .
:
https://github.com/zenparsing/es-private-fields
,
class myClass {
}
, ES6, , :
JavaScript ES6
var property = Symbol();
class Something {
constructor(){
this[property] = "test";
}
}
, . - 1 - :
, . ,
;
function foo1() {}
class foo2{}
, exressions, , :
var myClass = class foobar {};
1
- exression/declaration -
- - , . ""
- super, . , super (x, y);, , super.foobar(), . , .
- static, , ClassName.FunctionName() -syntax.
- extends, Dog extends Animal
- Declaration -prefix, "ok" "m" : class m {ok() {}}. m {function ok() {}}
, , , .
ES6 , , , , .
EDIT: , ES6 : - . , ES7 , . , , , .
1 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes