Я впервые задаю вопрос о переполнении стека! Немного смущен, что я спрашиваю об этом, потому что это, наверное, так просто, но я просто не могу понять это....
Я пытаюсь создать собственный класс, в котором я могу наследовать некоторые функции класса электронной таблицы GAS:
class Division {
constructor(name){
this.name = name;
this.sheet = ss.getSheetByName(name);
this.getRange = this.getRange.bind(this)
}
getRange(range) {
Logger.log(this)
Logger.log(range)
var sheet = ss.getSheetByName(this.name)
return sheet.getRange()
}
}
Однако, когда я пытаюсь запустить один из сценариев, код бросает меня TypeError: Cannot read property 'getRange' of null
, когда я сталкиваюсь с такой строкой кода:
const Nscore = Central.getRange('B2')
Журнал:
{getRange=function () { [native code] }, name=null, sheet=null}
B2
Как сделать так, чтобы this
в методе класса указывал на контекст внутри экземпляра класса?
Я был прав, я был глуп.
Оказалось, я просто забыл добавить аргумент, когда определял n экземпляр класса.
я имел
Central = new Division()
когда я должен был написать
Central = new Division('Central')