- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
let glb1 = 0;
class Color {
static constructor() {
glb1++;
print("Static construct");
}
constructor(public r: number,
public g: number,
public b: number) {
}
static white = 1;
}
class Color2 {
static constructor() {
glb1++;
print("Static construct 2");
}
}
function main() {
assert(glb1 == 2);
print("done.");
}
Dynamic objects expose members such as properties and methods at run time, instead of at compile time. This enables you to create objects to work with structures that do not match a static type or format.
В "Си" можно сделать структуру, в структуре указатель на массив из указателей на функции, и в тот массив из указателей на функции можно добавлять указатели на какие-то новые функции или переписывать существующие, и вот это будут типа "динамические методы".
В контроллерах такая хуйня естественно нахуй не нужна
Если джит годный получился, то он и сам себя сможет заджитить в достаточно эффективный код. Главное какие-то тяжёлые и динамичные фичи в нём не юзать, ну в общем-то как и в сишке.
С одной стороны он конпеляет код прям в рантайме, а с другой всё-таки заранее, до первого использования.
А в чём дыра? В неопределённости порядка инициализации, как в крестах?