Читаю learn JS, добрался до темы тренируемых объектов, само собой нафига не понял, после ролика стало чуть более понятно, ещё осталось понять а нафига оно надо.
Твой код нуждается в рефакторе: Созданный массив с ключами находится в блочной области видимости, собственно нет неоходимости перезаписывать в отдельную переменную контекст вызова, там где ты ретернишь value просто укажи keys[counter++] Так же нет особой необходимости отдельно записывать свойство length в переменную, если к ней можно обратится напрямую. А в целом, с твоим примером я понял как создать кастомный итератор, спасибо!
Можно. В продакшене как раз и прибегают к стандартным способам. Вариант через итератор дает больше контроля над состоянием объекта и также некоторые возможности (например пробежка через for of)
Дело в том, что вы контролируете проход. Вы можете перебирать через вызов next(), делая один шаг под условие. К примеру вы ожидаете поступления каких либо данных, как только они поступили вы выполняете комбинирование данных из вашего объекта с данными входящими и получаете к примеру новую строку или новый объект.
С одной стороны вроде ничего сложного, а с другой, сам реализацию подобного просто с головы точно не напишу. Насколько, это для джуна актуально(как часто приходится делать объекты итерируемыми)?
Благодарю за твой труд и возможность интерактивно прощупать этот итератор!))
Читаю learn JS, добрался до темы тренируемых объектов, само собой нафига не понял, после ролика стало чуть более понятно, ещё осталось понять а нафига оно надо.
Более глубокое погружение в язык .
и я оттуда)
для уровня мидл нужно
поддерживаю, это че-за болото нахрена оно вообще нужно
Жиза@@artemev9658
Крутой видос, жаль так мало лайков...
Красава бро! Не как все каналы пример из доки стянут и запишут формальное видео. То что я искал!
Твой код нуждается в рефакторе:
Созданный массив с ключами находится в блочной области видимости, собственно нет неоходимости перезаписывать в отдельную переменную контекст вызова, там где ты ретернишь value просто укажи keys[counter++]
Так же нет особой необходимости отдельно записывать свойство length в переменную, если к ней можно обратится напрямую.
А в целом, с твоим примером я понял как создать кастомный итератор, спасибо!
Классный урок. Кажись наконец то я понял где сидят итераторы и как их делать. Вот только еще не понял, нафига они нужны? )))
Спасибо,было интересно.
Спасибо за видео!
это бомба
Почему нельзя использовать Object.keys or Object.values ?
ебта зачем столько лишних строк кода??? реально же можно гораздо проще пройтись по объекту.... автор... зачем в заблуждение вводишь??????????????????
Можно. В продакшене как раз и прибегают к стандартным способам. Вариант через итератор дает больше контроля над состоянием объекта и также некоторые возможности (например пробежка через for of)
Дело в том, что вы контролируете проход. Вы можете перебирать через вызов next(), делая один шаг под условие. К примеру вы ожидаете поступления каких либо данных, как только они поступили вы выполняете комбинирование данных из вашего объекта с данными входящими и получаете к примеру новую строку или новый объект.
Самое подробное объяснение.
👍
С одной стороны вроде ничего сложного, а с другой, сам реализацию подобного просто с головы точно не напишу. Насколько, это для джуна актуально(как часто приходится делать объекты итерируемыми)?
Очень редко
А про for in не слышал?
Ты можешь сделать как тебе заблагорассудится , тыкать носом альтернативным способом или оптимизацией не нужно
For in перебирает все свойства в том числе и наследуемые, что явно тебе не понравится
Почему вы говорите "Класса Object", если Object это функция-конструктор, а не класс?
По факту это функция-конструктор в контексте JS, да.