Я получаю неожиданную ошибку при попытке написать объект Javascript - PullRequest
0 голосов
/ 08 января 2019

При попытке сохранить этот код из редактора сценариев в Google Sheets появляется следующее сообщение: «К сожалению, во время компиляции произошла непредвиденная ошибка». Код создает класс с методом.

Если он не создает метод, я не получаю ошибку, но точка объекта - метод. Я делал это раньше в другом приложении Sheets, но даже не могу заставить его работать на простом примере.

function myFunction() {

  var ss = SpreadsheetApp.getActiveSpreadsheet();  // curr active spreadsheet
  var theSheet = ss.getActiveSheet();              // current active sheet
  var aLogger = tLogger(theSheet, 5, 1, 5);        // set up a logger

  aLogger.tLog("A test line: 1");
}

// object to do logging on a sheet
function tLogger(ourSheet, startLine, startCol, logLength) {

  // object properties:
  this.curline = startLine;
  this.sheetRef = ourSheet;
  this.theColumn = startCol;
  this.maxLog = startLine + logLength;

  ourSheet.getRange(startLine, startCol, logLength, 1).clear();  // clear old

  // including this is what causes the error:
  function this.tLog(tText) {  // log an entry on the sheet
    this.sheetRef.getRange(this.curline++, this.theColumn).setValue(tText);
    return;
  }
  return;
}

1 Ответ

0 голосов
/ 08 января 2019

Перекодируйте его с ES6 примерно так же, как указано выше

class tLogger {
  constructor(ourSheet, startLine, startCol, logLength) {
    this.curline = startLine;
    this.sheetRef = ourSheet;
    this.theColumn = startCol;
    this.maxLog = startLine + logLength;
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...