Size: a a a

2021 March 30

p

persona x grata in JS Liberty
Denis Efremov
Потому может, что это всех заебало?
да я бы не сказал, что это происходит часто
источник

Е

Евдоким in JS Liberty
Эд
вообще уже противно за ООП и ФП писать
Срать джаву и пхп никогда не противно.
источник

p

persona x grata in JS Liberty
Эд
вообще уже противно за ООП и ФП писать
пробовал на жс ооп паттерн OLOO?
источник

p

persona x grata in JS Liberty
const Transaction = {
 init(sender, recipient, funds = 0.0) {
   const _feePercent = 0.5;
   this.sender = sender;
   this.recipient = recipient;
   this.funds = Number(funds);
   this.netTotal = function() {
     return _precisionRound(this.funds * _feePercent, 2);
   }
   function _precisionRound(number, precision) {
     const factor = Math.pow(10, precision);
     return Math.round(number * factor) / factor;
   }
   return this;
 },

 displayTransaction() {
   return `Transaction from ${this.sender} to ${this.recipient} for ${this.funds}`;
 }
}

const HashTransaction = Object.create(Transaction)

HashTransaction.init = function HashTransaction(
 sender, recipient, funds
) {
 Transaction.init.call(this, sender, recipient, funds);
 this.transactionId = this.calculateHash();
 return this;
}

HashTransaction.calculateHash = function calculateHash() {
 const data = [this.sender, this.recipient, this.funds].join('');
 let hash = 0, i = 0;

 while (i < data.length) {
   hash = ((hash << 5) - hash + data.charCodeAt(i++)) << 0;
 }
 return hash ** 2;
}
источник

Э

Эд in JS Liberty
persona x grata
пробовал на жс ооп паттерн OLOO?
нет
источник

В

Виктория in JS Liberty
Евдоким
Срать джаву и пхп никогда не противно.
И не поздно
источник

p

persona x grata in JS Liberty
Эд
нет
вот выше пример
источник

Э

Эд in JS Liberty
Я сейчас disabled
источник

p

persona x grata in JS Liberty
Идея использовать линкование между объектами (композицию объектов), не использовать конструктор, в итоге это уберегает от загрязнения прототипов( что является проблемой в жс ооп с прототипным наследованием)
источник

p

persona x grata in JS Liberty
паттерн OLOO придумал Кайл Симпсон
источник

DE

Denis Efremov in JS Liberty
persona x grata
Идея использовать линкование между объектами (композицию объектов), не использовать конструктор, в итоге это уберегает от загрязнения прототипов( что является проблемой в жс ооп с прототипным наследованием)
Что значит загрязнения прототипов и в почему это проблема?
источник

p

persona x grata in JS Liberty
Denis Efremov
Что значит загрязнения прототипов и в почему это проблема?
своими словами не могу объяснить, насколько понял в этом есть уязвимости для XSS атак, вот статью прочитал, вроде норм объяснение https://habr.com/ru/company/huawei/blog/547178/
источник

DE

Denis Efremov in JS Liberty
Так если мы функции Transaction из твоего кода переопределим метод, получим точно такой же поллюшн
источник
2021 March 31

В

Виктория in JS Liberty
persona x grata
const Transaction = {
 init(sender, recipient, funds = 0.0) {
   const _feePercent = 0.5;
   this.sender = sender;
   this.recipient = recipient;
   this.funds = Number(funds);
   this.netTotal = function() {
     return _precisionRound(this.funds * _feePercent, 2);
   }
   function _precisionRound(number, precision) {
     const factor = Math.pow(10, precision);
     return Math.round(number * factor) / factor;
   }
   return this;
 },

 displayTransaction() {
   return `Transaction from ${this.sender} to ${this.recipient} for ${this.funds}`;
 }
}

const HashTransaction = Object.create(Transaction)

HashTransaction.init = function HashTransaction(
 sender, recipient, funds
) {
 Transaction.init.call(this, sender, recipient, funds);
 this.transactionId = this.calculateHash();
 return this;
}

HashTransaction.calculateHash = function calculateHash() {
 const data = [this.sender, this.recipient, this.funds].join('');
 let hash = 0, i = 0;

 while (i < data.length) {
   hash = ((hash << 5) - hash + data.charCodeAt(i++)) << 0;
 }
 return hash ** 2;
}
Выглядит как хуйня
источник

Е

Евдоким in JS Liberty
Виктория
Выглядит как хуйня
источник

AK

Aleksei Kowalski in JS Liberty
Виктория
Выглядит как хуйня
И пахнет?
источник

DE

Denis Efremov in JS Liberty
Странно, что ты не можешь это объяснить. Ведь там же есть простые примеры с методом toString()
источник

DE

Denis Efremov in JS Liberty
Но вообще выполнять пользовательский ввод - такое себе
источник

DE

Denis Efremov in JS Liberty
И прототипы тут не при чем
источник

DE

Denis Efremov in JS Liberty
Вот у меня есть либа, которая генерит шахматную доску. Попробуй заполлютить туда что-нибудь
источник