Учитывая следующую базовую структуру кода для лямбды:
"use strict";
class Bot {
static handler(event, context, callback) {
// using new this(); doesn't
// work because this is undefined
const kls = new klass();
console.log('handling');
kls.handle();
// Do work
callback(null, 'success!');
}
handle() {
console.log('calling the parent method');
}
}
const klass = 'Child';
class Child extends Bot {
handle() {
console.log('calling the child method');
}
}
module.exports = Child;
Цель состоит в том, чтобы статический родительский метод не знал, какой именно дочерний объект он будет создавать заранее, но может определить, какой дочерний объект создать из переменной, которую он может прочитать.