Baseline Widely available
class
宣è¨ã¯ããããã¿ã¤ããã¼ã¹ã®ç¶æ¿ã使ã£ã¦ãæå®ãããååã®æ°ããã¯ã©ã¹ã使ãã¾ãã
ã¯ã©ã¹å¼ã使ã£ã¦ã¯ã©ã¹ãå®ç¾©ãããã¨ãã§ããã®å ´åã¯åå®ç¾©ãã¯ã©ã¹åã®çç¥ãã§ãã¾ããåãã¹ã³ã¼ãã§ã¯ã©ã¹å®£è¨ãåãååã§è¡ããã¨ããã¨ãSyntaxError
ãçºçãã¾ãã
class Polygon {
constructor(height, width) {
this.area = height * width;
}
}
console.log(new Polygon(4, 3).area);
// Expected output: 12
æ§æ
class name [extends otherName] {
// ã¯ã©ã¹æ¬ä½
}
解説
ã¯ã©ã¹å¼ã¨åæ§ãã¯ã©ã¹å®£è¨ã®å
é¨ã¯å³æ ¼ã¢ã¼ãã§å®è¡ããã¾ããconstructor
ã¡ã½ããã¯çç¥å¯è½ã§ãã
ã¯ã©ã¹å®£è¨ã¯ let
ã const
ã¨åæ§ã«åä½ããå·»ãä¸ããè¡ããã¾ããï¼é¢æ°å®£è¨ã¨ã¯ç°ãªãã¾ãï¼ã
次ã®ä¾ã§ã¯ãã¯ããã« Rectangle
ã¨ããååã®ã¯ã©ã¹ãå®ç¾©ããæ¬¡ã«ãããæ¡å¼µã㦠FilledRectangle
ã¨ããååã®ã¯ã©ã¹ã使ãã¾ãã
ãªããã³ã³ã¹ãã©ã¯ã¿ã¼ (constructor
) ã§ä½¿ããã¦ãã super()
ã¯ãã³ã³ã¹ãã©ã¯ã¿ã¼å
ã§ã®ã¿ä½¿ãããã¨ã this
ãã¼ã¯ã¼ãã®ä½¿ç¨åã«å¼ã³åºããªãã¦ã¯ãªããªããã¨ã«æ³¨æãã¦ãã ããã
class Rectangle {
constructor(height, width) {
this.name = "Rectangle";
this.height = height;
this.width = width;
}
}
class FilledRectangle extends Rectangle {
constructor(height, width, color) {
super(height, width);
this.name = "Filled rectangle";
this.color = color;
}
}
ã¯ã©ã¹ãäºåº¦å®£è¨ãããã¨ãã
ã¯ã©ã¹å®£è¨ã使ã£ã¦å度ã¯ã©ã¹ã宣è¨ããã¨ã SyntaxError
ãçºçãã¾ãã
class Foo {}
class Foo {} // Uncaught SyntaxError: Identifier 'Foo' has already been declared
ã¯ã©ã¹å¼ã使ã£ã¦äºåã«ã¯ã©ã¹ãå®ç¾©ãã¦ããã¨ãããåãã¨ã©ã¼ãçºçãã¾ãã
let Foo = class {};
class Foo {} // Uncaught SyntaxError: Identifier 'Foo' has already been declared
Firefox ã®ã¦ã§ãã³ã³ã½ã¼ã« (ãã¼ã« > ã¦ã§ãéçºè > ã¦ã§ãã³ã³ã½ã¼ã«) ãªã©ã® REPL ã§å®é¨ãã¦ããã¨ãã«ãåãååã®ã¯ã©ã¹å®£è¨ã 2 ã¤ã®å ¥åã§å®è¡ããã¨ãåãå宣è¨ã¨ã©ã¼ãçºçãããã¨ãããã¾ãããã®èª²é¡ã«ã¤ãã¦ã¯ãFirefox bug 1580891ã§è©³ããè°è«ããã¦ãã¾ãã®ã§ãã覧ãã ãããChrome ã³ã³ã½ã¼ã«ã§ã¯ãç°ãªã REPL å ¥åéã§ã®ã¯ã©ã¹ã®å宣è¨ãå¯è½ã§ãã
仿§æ¸ ãã©ã¦ã¶ã¼ã®äºææ§ é¢é£æ å ±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