Size: a a a

ECMAScript Developers

2020 June 05

IT

Islambek Toichuev in ECMAScript Developers
и кстати излюбленная тема на собесах всяких мамкиных собеседователей
источник

α

αμαν in ECMAScript Developers
Islambek Toichuev
она не чистая только если мы знаем что в массиве есть обьекты и мы их меняем после спреда подумав что создали клон а так конечно спредами удобнее
можете дать определение чистой функции, из которого следует что функция выше не чистая?
источник

IT

Islambek Toichuev in ECMAScript Developers
αμαν
const reducer = (state = [], action) => {
 const nextState = [...state]

 nextState.push(action.payload)

 return nextState
}

эта функция чистая?
эта чистая
источник

α

αμαν in ECMAScript Developers
Islambek Toichuev
эта чистая
но в ней же ведь спред?)
и объекты внутри массива
источник

IT

Islambek Toichuev in ECMAScript Developers
Islambek Toichuev
она не чистая только если мы знаем что в массиве есть обьекты и мы их меняем после спреда подумав что создали клон а так конечно спредами удобнее
👆
источник

IT

Islambek Toichuev in ECMAScript Developers
только если мы знаем что в массиве есть обьекты и мы их меняем после спреда подумав что создали клон
вот эта строка
источник

α

αμαν in ECMAScript Developers
Islambek Toichuev
только если мы знаем что в массиве есть обьекты и мы их меняем после спреда подумав что создали клон
вот эта строка
ок, spread != deepClone, не все это понимают и допускают ошибки при написании иммутабельных апдейтов

и, в контексте редакса, вы считаете нормальным делать deepClone или JSON.stringify/parse?
источник

p

pewpew in ECMAScript Developers
Ребят, как протестировать такую функцию?
источник

DM

Daniel Manasov in ECMAScript Developers
Islambek Toichuev
только если мы знаем что в массиве есть обьекты и мы их меняем после спреда подумав что создали клон
вот эта строка
а где объекты менялись?
источник

IT

Islambek Toichuev in ECMAScript Developers
αμαν
ок, spread != deepClone, не все это понимают и допускают ошибки при написании иммутабельных апдейтов

и, в контексте редакса, вы считаете нормальным делать deepClone или JSON.stringify/parse?
это часто практикуется так как строку считать быстрее по производительности чем массив со вложенностями
источник

IT

Islambek Toichuev in ECMAScript Developers
αμαν
ок, spread != deepClone, не все это понимают и допускают ошибки при написании иммутабельных апдейтов

и, в контексте редакса, вы считаете нормальным делать deepClone или JSON.stringify/parse?
источник

IT

Islambek Toichuev in ECMAScript Developers
Daniel Manasov
а где объекты менялись?
const arr = [{a: 1}]
const arr2 = [...arr]
arr2[0].a = 2
вот тут
источник

DM

Daniel Manasov in ECMAScript Developers
Islambek Toichuev
const arr = [{a: 1}]
const arr2 = [...arr]
arr2[0].a = 2
вот тут
тут вот да, что-то выпал из контекста. Видел только редьюсеры и фильтры, которые не должны были мутировать объекты
источник

p

pewpew in ECMAScript Developers
Или как тестировать коллбэчные функции когда получаемый результат нельзя экспортировать в какую нибудь переменную
источник

α

αμαν in ECMAScript Developers
спасибо за видео, но там сказали что так писать не надо)
источник

DM

Daniel Manasov in ECMAScript Developers
pewpew
Или как тестировать коллбэчные функции когда получаемый результат нельзя экспортировать в какую нибудь переменную
const functionToTest = (error, response) => {
   if (!error) {
       console.log('REPLY FROM SERVER: ', response)
   } else {
       console.error(error)
   }
};
client.authenticate(request, meta, functionToTest)

и вот вынесенную функцию тестируй
источник

α

αμαν in ECMAScript Developers
интересно, это относится и к другим интерпретируемым языкам, или только к богатому синтаксисом джаваскрипту 🤔
источник

p

pewpew in ECMAScript Developers
Daniel Manasov
const functionToTest = (error, response) => {
   if (!error) {
       console.log('REPLY FROM SERVER: ', response)
   } else {
       console.error(error)
   }
};
client.authenticate(request, meta, functionToTest)

и вот вынесенную функцию тестируй
А где я буду ловить результат запущенной функции?

__чертов grpc
источник

IT

Islambek Toichuev in ECMAScript Developers
αμαν
интересно, это относится и к другим интерпретируемым языкам, или только к богатому синтаксисом джаваскрипту 🤔
хз с другими языками но в питоне json.load работает быстрее чем ast.literal_eval
источник

VD

Vladislav Dorn in ECMAScript Developers
Хеллоу всем! На днях решил попробовать vue, сделал тудушку, может кто глянуть, подсказать что где поправить и над чем стоит поработать?

https://github.com/vladislavDorn/Todo-list-vue
источник