mirror of
https://github.com/swc-project/swc.git
synced 2024-12-22 05:01:42 +03:00
26 lines
588 B
TypeScript
26 lines
588 B
TypeScript
|
// @target: esnext
|
||
|
// @useDefineForClassFields: true
|
||
|
class Animal {
|
||
|
_sound = 'rustling noise in the bushes'
|
||
|
|
||
|
get sound() { return this._sound }
|
||
|
set sound(val) {
|
||
|
this._sound = val;
|
||
|
/* some important code here, perhaps tracking known sounds, etc */
|
||
|
}
|
||
|
|
||
|
makeSound() {
|
||
|
console.log(this._sound)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
const a = new Animal
|
||
|
a.makeSound() // 'rustling noise in the bushes'
|
||
|
|
||
|
class Lion extends Animal {
|
||
|
sound = 'RAWR!' // error here
|
||
|
}
|
||
|
|
||
|
const lion = new Lion
|
||
|
lion.makeSound() // with [[Define]]: Expected "RAWR!" but got "rustling noise in the bushes"
|