Показать сообщение отдельно
  #7 (permalink)  
Старый 16.04.2018, 08:18
Аватар для destus
Профессор
Отправить личное сообщение для destus Посмотреть профиль Найти все сообщения от destus
 
Регистрация: 18.05.2011
Сообщений: 1,207

j0hnik,
Когда мы обьявляем JS модули или классы, не обязательно писать "use strict". Он определяется неявно для содержимого http://exploringjs.com/es6/ch_one-ja...it-strict-mode. Вот здесь будет ошибка, потому что let зарезирвирован в ES6.

class Person {
  constructor(name) {
    var let = 123;
    this.name = name;
  }

  sayName() {
    alert(`Person ${this.name} said his name`);
  }
}

const john = new Person('John');
john.sayName();

А вот так нет
function Person(name) {
   var let = 123;
   this.name = name;
}

Person.prototype.sayName = function() {
alert(`Person ${this.name} said his name`);
}

var john = new Person('John');
john.sayName();
Ответить с цитированием