Andrey
почему следующий код выводит 8?
Andrey
let a = 2 b = a++ + (--a * ++a) console.log(b)
Andrey
в скобках получается 2
Andrey
где взялось 8 я не вкуриваю))
Petrov
let a = 2 b = a++ + (--a * ++a) console.log(b)
Под скобками 2 * 3 (++a) а затем + (a++), но так как postincremen, то 2 = 2 + 6
Andrey
Почему не 1 * 3?
Andrey
--а это же 1
Andrey
Не?
Oleg
a = 2 b = --a * ++a console.log(b)
Oleg
2
акионка.
let a = 2 b = a++ + (--a * ++a) console.log(b)
Увижу такой код в проде убью автора
Andrey
Увижу такой код в проде убью автора
Я по приколу загуглил "сложный код на джс с инкрементом"
Andrey
))
Oleg
кароч
Petrov
Я по приколу загуглил "сложный код на джс с инкрементом"
Старина Крокфорд был прав, когда говорил "Держитесь хороших частей" ))
Oleg
сначала выполняет —a и в записывается 1
Oleg
потом выполняет ++a и в a записывается 2
Oleg
1*2 = 2
Oleg
я все обяснил уже, не благодари
Andrey
Не, это статья на хабре с рейтингом -15))))
Petrov
акионка.
Рейтинг такой из-за того, что у кого-то бомбануло))
Andrey
https://m.habr.com/ru/post/77397/
Rom
Приоритет арифметических операций.
Rom
https://m.habr.com/ru/post/77397/
Потому что автор статьи не вкурил приоритеты
Andrey
Ок, в скобках 2
Andrey
Значит 2 + 2 = 4
Andrey
Почему 8?
акионка.
Там в комментариях есть объяснение
Koks
8
Koks
2 + (2 * 3)
акионка.
a++ + --a * ++a (1)(5)(2)(4)(3) 1. a = 3, в выражении 2 2. a = 2, в выражении 2. 3. a = 3, в выражении 3. 4. 2*3 = 6 5. 2+6 = 8
Andrey
Понял, спс
Erlich
А вообще мне вот такие маленькие библиотеки компонентов нравятся https://react-rainbow.web.app/#/Components
подскажи плиз можно ли его растянуть на весь экран в % ? убрать рамку и кнопочки? и плавность задать?
Oleg
var a = 5555..toString(); console.log(a);
Oleg
чо будет?
Дмитрий
5555
Oleg
ну да)
Petrov
подскажи плиз можно ли его растянуть на весь экран в % ? убрать рамку и кнопочки? и плавность задать?
Там есть константа для задания стилей, а в целом если нужно полностью настраиваемый, то я бы брал какое-то более сложное решение, так как конкретно в этой библиотечке простые компоненты, не сильно их и настроишь. Таких библиотек много, но применимость их ограничена. А вот Material UI даёт больше возможностей. Я бы выбрал какой-то фрейм из устоявшихся и на нём работал, тот же Material UI или React Boostrap https://mui.wertarbyte.com/#material-auto-rotating-carousel
Rom
наверно так:1. a=2, в выражении 1
уберите скобки, возможно станет яснее
Rom
Так я разве не прав?)
вы выражении 1, правы )
Victor
Всем привет, не понимаю фишки вот код reateArrayStateBody(){ console.log("Body"); const oldArray = comments; const newArray = oldArray.map((item)=>{ item.body.substr(0,25) }); console.log(newArray); return newArray } comments - масив объектов, но функция возвращает андефин( , не судите строго учусь только. Что не так я делаю?
Rom
вот вам подсказка console.log(comments);
Victor
Victor
вот коммент а после возвращает масив пустых значение
Дмитрий
а у итема боди есть?
Кирилл
Как вынести storage.setItem вне редьсора? если я передаю в функцию весь стейт
Oleg
куда вне редюсера?
Кирилл
да хз вот куда) просто у меня сайдэфект получается в редьюсоре) и нужно избаваиться от него)
Oleg
ну в санку тогда
Кирилл
а доступ к state как получить?
Oleg
в санке выполняеш сайдэффект а потом диспатчиш экшин который в редюсере имеет доступ к стейту
Rom
а доступ к state как получить?
прям в санке можно получить
Rom
https://github.com/it-kamasutra/react-way-of-samurai/blob/master/src/redux/profile-reducer.js getState
Oleg
ну да, но лиш гет
Дмитрий
подскажите, пожалуйста, почему combinereducers создает еще один вложенный объект dialog ? Вроде если имена совпадают не должно быть такого
Oleg
подскажите, пожалуйста, почему combinereducers создает еще один вложенный объект dialog ? Вроде если имена совпадают не должно быть такого
потому что если ты будеш комбайнить несколько редюсеров то в сторе будет редюсер с именем dialog у которого волей случея внутри массив с именем dialog ну и название других редюсеров будет
Oleg
ты в комбайн передаеш имя редюсера такое же
Oleg
диалог
Дмитрий
так это то понятно, что в начальном диалог и в комбайне еще один диалог
Oleg
ну вот
Дмитрий
просто в таком случае придется обращаться к массиву как диалог.диалог?
Oleg
да
Дмитрий
и это норма?)
Oleg
ну канеш
Дмитрий
или как лучше делать?
Oleg
прост в твоем случае у тебя массив называется диалог, но в редюсере может быть и не только масив и не стаким названием а с другими и тогда обращение будет как getState().dialog.sran чо нить такое
Oleg
getState().dialog.zalupa
Oleg
getState().dialog.dialog ну пусть так чо уж
Дмитрий
ок, спасибо
Oleg
есть
попробуй убрать сабстр и просто боди запихать в новый масив
Oleg
глянуть чо будет