Skip to content

Instantly share code, notes, and snippets.

@marcolink
Last active March 26, 2021 23:32
Show Gist options
  • Save marcolink/249b667ed03058ded401012e43bb76ab to your computer and use it in GitHub Desktop.
Save marcolink/249b667ed03058ded401012e43bb76ab to your computer and use it in GitHub Desktop.
Get override for static field in typescript class
/*
https://www.typescriptlang.org/play?ssl=1&ssc=1&pln=16&pc=15#code/MYGwhgzhAECC0G8BQ1oAcCuAjEBLY0EALmEftAGa4CmIAJtALyIB2YAttQFzQDksvAL4p02PASIB7AMpEATrhYBzABQBKRCNRzqRDHJbQA8lgBW1YEQB0S3QAU5kqUQCeaakYoqiAC1wQ1K2BJFmI5DEtJOSsqWjoRYWEkUEgYACFoagAPImoWOhh4ZFRMHHJiUnJY+iZWDm4+NKEkJODQomgwWpZqAHc4dQBuZJDiaCxuvug0oaQR0MkQaisQSVUwNXmIReXV1Sw1IA
*/
class A {
public static field = 'A'
public toString() {
return Object.getPrototypeOf(this).constructor.field
}
}
class B extends A {
public static field = 'B'
}
const a = new A();
const b = new B();
console.log(a.toString()); // => 'A'
console.log(b.toString()); // => 'B'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment