Может ли кто-нибудь сказать мне, что не так с моим кодом? - PullRequest
1 голос
/ 16 июня 2020

Может ли кто-нибудь сказать мне, что не так с моим кодом? Я все время вижу ошибку: Отсутствует; перед заявлением. (строка 3, файл «Код») . Я слежу за учебником на YouTube и не могу сказать, в чем разница между моим кодом и репетиторами.

function createPDf () {    
  let studentname = "Example Smith";   
  let class = "S2H";    
  let year = "Year 4";    
  let Literacy = "Working at Stage outcomes";    
  let Numeracy: = "Working at Stage outcomes";    
  let socialinteractionsclassroom = "Usually";    
  let socialinteractionsplayground = "Usually";    
  let absences = "10";    
  let contactteacher = "yes";    
  let teacehername = "Mr Jacob Example";    
  let effort = "Usually";    

  // doc id 1c-DF4cCNu8Ma5khhL6FiMudmlc7E9XGrigpWPd-06lE    
  // temp folder 14I2Jql8BRaK3tPh0XNa8C9IoNkYuPRir    

  const docFile = DriveApp.getFileById("1c-DF4cCNu8Ma5khhL6FiMudmlc7E9XGrigpWPd-06lE");    
  const tempFolder = DriveApp.getFolderById("14I2Jql8BRaK3tPh0XNa8C9IoNkYuPRir");    
  const tempFile = docFile.makeCopy(tempFolder);    
  const tempDocFile = DocumentApp.openById(tempFile.getId());    
  const body = tempDocFile.getBody();    
  body.replaceText("{Student name:}", studentname);    
  body.replaceText("{Class:}", class);    
  body.replaceText("{Year}", year);    
  body.replaceText("{Teacher Name}", teacehername);    
  body.replaceText("{Literacy}", Literacy);    
  body.replaceText("{Numeracy}", Numeracy);    
  body.replaceText("{Social interactions in the classroom}", socialinteractionsclassroom);    
  body.replaceText("{Social interactions in the playground}", socialinteractionsplayground);    
  body.replaceText("{Effort}", effort);    
  body.replaceText("{Absences exlcuding COVID}", absences);    
  tempDocFile.saveAndClose();    

}

Ответы [ 2 ]

4 голосов
/ 16 июня 2020

Проблема

Попытка присвоить переменной имя class приводит к ошибке «Отсутствует; перед оператором».

Пояснение

В ECMAScript 262 spe c есть список ключевых и зарезервированных слов. Вы не можете использовать их в любом другом контексте, который определен для них (а некоторые даже зарезервированы на будущее).

Список зарезервированных слов ATTOW

ждать | перерыв | случай | поймать | класс | const | продолжить | отладчик | по умолчанию | удалить | делать | еще | экспорт | расширяется | ложь | наконец | для | функция | если | импорт | в | instanceof | новый | null | возврат | супер | переключатель | это | бросить | правда | попробовать | typeof | var | пусто | пока | с | yield

Зарезервировано на будущее

enum | орудия | интерфейс | пакет | частный | защищенный | publi c

В сообщении об ошибке

Вы видите не очень полезное сообщение об ошибке, потому что ваш скрипт работает в старой среде выполнения Rhino ГАЗ б / у. Если бы вы использовали новый, V8 (пожалуйста, сделайте миграцию как можно скорее), вы бы получили:

SyntaxError: Unexpected token 'class '


На самом деле существует вторая проблема, которая приведет к ошибке - использование двоеточия с оператором присваивания не является допустимым синтаксисом JS, но все кредиты должен go к другому ответу, чтобы заметить:

SyntaxError: Unexpected token ':'

3 голосов
/ 16 июня 2020

Ниже приведены строки, которые, я думаю, могут быть причиной:

let class = "S2H"; // class is a reserved words, so it cannot be used as a variable
let Numeracy: = "Working at Stage outcomes"; // the colon goes after Numeracy is wrong naming variable rule. You should remove or change it

ps: Мой английский sh не очень хорош, поэтому я надеюсь, что вы понимаете мою идею. :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...