Baseline Widely available
class
声æå建ä¸ä¸ªç»å®å°ç»å®åç§°çæ°ç±»ã
ä½ ä¹å¯ä»¥ä½¿ç¨ class
è¡¨è¾¾å¼æ¥å®ä¹ç±»ã
class Polygon {
constructor(height, width) {
this.area = height * width;
}
}
console.log(new Polygon(4, 3).area);
// Expected output: 12
è¯æ³
class name {
// ç±»ä½
}
class name extends otherName {
// ç±»ä½
}
æè¿°
类声æçç±»ä½å¨ä¸¥æ ¼æ¨¡å¼ä¸æ§è¡ãclass
声æä¸ let
é常ç¸ä¼¼ï¼
class
声æçä½ç¨åæ¢å¯ä»¥æ¯å级ä½ç¨åï¼ä¹å¯ä»¥æ¯å½æ°ä½ç¨åãclass
声æåªè½å¨å
¶å£°æä½ç½®ä¹åæè½è®¿é®ï¼åè§ææ¶æ§æ»åºï¼ãå æ¤ class
声æé常被认为æ¯ä¸å¯åéæåçï¼ä¸å½æ°å£°æä¸åï¼ãclass
声æå¨èæ¬é¡¶å±å£°ææ¶ä¸ä¼å¨ globalThis
ä¸åå»ºå±æ§ï¼ä¸å½æ°å£°æä¸åï¼ãclass
声æä¸è½è¢«ä»»ä½å
¶ä»å£°æéå¤å£°æãå¨ç±»ä½å¤é¨ï¼class
声æå¯ä»¥å let
䏿 ·è¢«éæ°èµå¼ï¼ä½ä½ åºè¯¥é¿å
è¿æ ·åãå¨ç±»ä½å
é¨ï¼ç±»çç»å®æ¯å¸¸éï¼å°±å const
䏿 ·ã
class Foo {
static {
Foo = 1; // TypeError: Assignment to constant variable.
}
}
class Foo2 {
bar = (Foo2 = 1); // TypeError: Assignment to constant variable.
}
class Foo3 {}
Foo3 = 1;
console.log(Foo3); // 1
ç¤ºä¾ ä¸ä¸ªç®åç类声æ
å¨ä»¥ä¸ç¤ºä¾ä¸ï¼æä»¬é¦å
å®ä¹äºä¸ä¸ªå为 Rectangle
çç±»ï¼ç¶åæ©å±å®æ¥å建ä¸ä¸ªå为 FilledRectangle
çç±»ã
请注æï¼super()
åªè½å¨ constructor
ä¸ä½¿ç¨ï¼å¹¶ä¸å¿
é¡»å¨ä½¿ç¨ this
å
³é®åä¹åè°ç¨ã
class Rectangle {
constructor(height, width) {
this.name = "ç©å½¢";
this.height = height;
this.width = width;
}
}
class FilledRectangle extends Rectangle {
constructor(height, width, color) {
super(height, width);
this.name = "å¡«å
ç©å½¢";
this.color = color;
}
}
è§è æµè§å¨å
¼å®¹æ§ åè§
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4