В классе объявить не возможно, в объекте работает
class test {
constructor() {
(el = 2323);
console.log(el);
}
}
window.addEventListener('DOMContentLoaded', _ => new test());
window.addEventListener('DOMContentLoaded', _ => ({
int: function() {
(m = 333);
console.log(m);
}
}).int())
Почему в классе если необходимо занести данные в переменную, предварительно не объявляя но обрамляя в скобки. Не работает, а с объектом это работает...
В некоторых случаях, сразу заношу данные в переменную заведомо в скобках. Когда тутже необходимо к примеру повесить слушатель и еще обратиться к переменной в последующем.
Возможно запустить класс также как объект запускаю, не люблю лишних строчек...
Ответы (1 шт):
Автор решения: Alexander Lonberg
→ Ссылка
Подозреваю что классы по умолчанию работают в строгом режиме. Второй вариант так же должен вызывать ошибку, если переменная заранее не объявлена.
Вот пример:
Работает
function test() {
({
int: function() {
(m = 333);
console.log(m);
}
}).int()
}
test()
Не работает(use strict)
function testStrict() {
'use strict';
({
int: function() {
(m = 333);
console.log(m);
}
}).int()
}
testStrict()