Size: a a a

JavaScript — русскоговорящее сообщество

2020 October 29

E

Evgen in JavaScript — русскоговорящее сообщество
Sergiy Shatunov
а вот Set и Map это существенные нововедения, и Symbol тоже
Это тоже расширение стандартной библиотеки объектов
источник

SM

Soltukiev Malik in JavaScript — русскоговорящее сообщество
как так же в классе сделать?
источник

SS

Sergiy Shatunov in JavaScript — русскоговорящее сообщество
Soltukiev Malik
А как создать приватную переменную в классе, к которой не будет прямого доступа как к свойству объекта?
в классе объявить константу и присвоить ей новый символ, использовать в качестве ключа
источник

MZ

Max Zommer in JavaScript — русскоговорящее сообщество
источник

SM

Soltukiev Malik in JavaScript — русскоговорящее сообщество
Sergiy Shatunov
в классе объявить константу и присвоить ей новый символ, использовать в качестве ключа
Напиши код, как это, я не понял.
источник

SM

Soltukiev Malik in JavaScript — русскоговорящее сообщество
к #х не будет доступа снаружи никак?
источник

SS

Sergiy Shatunov in JavaScript — русскоговорящее сообщество
Evgen
Это тоже расширение стандартной библиотеки объектов
суть в том, что при трансляции из ES6 в ES5, реализации множеств и словарей будут жутко тормозить
источник

E

Evgen in JavaScript — русскоговорящее сообщество
Sergiy Shatunov
суть в том, что при трансляции из ES6 в ES5, реализации множеств и словарей будут жутко тормозить
А это тут при чем? Думаю на этом разговор становится бессмысленным.
источник

SM

Soltukiev Malik in JavaScript — русскоговорящее сообщество
О, круто
источник

SM

Soltukiev Malik in JavaScript — русскоговорящее сообщество
я и не знал про приватные переменные в классе
источник

SS

Sergiy Shatunov in JavaScript — русскоговорящее сообщество
Soltukiev Malik
Напиши код, как это, я не понял.
var C = (()=>{  
 var key = Symbol();
 return class {
   show() {
     return alert(this[key]);
   }
   constructor() {
     this[key] = "!";
   }
 };
})()
new C().show();
источник

SM

Soltukiev Malik in JavaScript — русскоговорящее сообщество
Sergiy Shatunov
var C = (()=>{  
 var key = Symbol();
 return class {
   show() {
     return alert(this[key]);
   }
   constructor() {
     this[key] = "!";
   }
 };
})()
new C().show();
с решеткой куда проще)
источник

SM

Soltukiev Malik in JavaScript — русскоговорящее сообщество
но спс
источник

SM

Soltukiev Malik in JavaScript — русскоговорящее сообщество
class Div {
 #div = 1
 constructor(color) {
   this.#div = (() => {
     const div = document.createElement("div")
     div.classList.add(color)
     document.body.appendChild(div)
     return div
   })()
 }
 toggle() {
   this.#div.style.display === "none" ? (this.#div.style.display = "block") : (this.#div.style.display = "none")
 }
 open() {
   this.#div.style.display = "block"
 }
 close() {
   this.#div.style.display = "none"
 }
}
источник

SS

Sergiy Shatunov in JavaScript — русскоговорящее сообщество
Soltukiev Malik
с решеткой куда проще)
очевидно что синтаксис с решеткой можно будет оттранслировать в синтаксис ES6 похожий на мой пример
источник

AD

Anatoly D in JavaScript — русскоговорящее сообщество
Регулярное выражение /&filter.*?(?=[&#\s])/gi призвано найти в url строке всё что находится междну &filter и символами`&` или # или концом строки. Работает нормально, только с концом строки не работает как ожидаю. Например в строке example.com/?test=test&filter[age]=18 не работает. Я так понимаю, что мне нужно в квадратных скобках вместо \s указать символ конца строки $, но как это сделать? Ведь если в квадратных скобках указать $, то это будет просто символ.
источник

SS

Sergiy Shatunov in JavaScript — русскоговорящее сообщество
Anatoly D
Регулярное выражение /&filter.*?(?=[&#\s])/gi призвано найти в url строке всё что находится междну &filter и символами`&` или # или концом строки. Работает нормально, только с концом строки не работает как ожидаю. Например в строке example.com/?test=test&filter[age]=18 не работает. Я так понимаю, что мне нужно в квадратных скобках вместо \s указать символ конца строки $, но как это сделать? Ведь если в квадратных скобках указать $, то это будет просто символ.
/&filter.*?(?=[&#\s]|$)/gi
источник

AD

Anatoly D in JavaScript — русскоговорящее сообщество
Sergiy Shatunov
/&filter.*?(?=[&#\s]|$)/gi
О, спасибо. Я предпологал, что куда-то надо вставить условие или. Заработало как надо :)
источник

SM

Soltukiev Malik in JavaScript — русскоговорящее сообщество
Sergiy Shatunov
очевидно что синтаксис с решеткой можно будет оттранслировать в синтаксис ES6 похожий на мой пример
Ничего не понял. Но понял одно, твой пример не нужен, когда есть решетка.
источник

SS

Sergiy Shatunov in JavaScript — русскоговорящее сообщество
Soltukiev Malik
Ничего не понял. Но понял одно, твой пример не нужен, когда есть решетка.
но нужен, когда её нет 😜
источник