As For JS – Telegram
As For JS
3.32K subscribers
198 photos
21 videos
4 files
516 links
As For JavaScript...
Обсуждения — @AsForJsTalks
Download Telegram
После поста о мегадєс не многие поняли о чем я.
(я вру все поняли, но я не могу остановиться)

ну єто же прекрасно!
єто вам не на вью писать код
чистая ванила

https://youtu.be/9d4ui9q7eDM?si=kLVC0wOdLsaGTVTB
5🔥2💯1
Всем кого волнует запись на курс.

Сейчас готовлю рассылку.
Сегодня, завтра, послезавтра все получат ответ.

Главное чтобы свет был.
32👍11😁5💯2🤣2🕊1
одесса, через стекла єтажей
21
Падал прошлогодний снег.
И если Вы скажите что єто плохо - выйдите из аудитории

https://youtu.be/ZGJibIh7_B8?si=kQuFyA1vboiBzhe4
🔥142
Камилла Мораес (Camilla Moraes), менеджер по продукту из компании GitHub, начала обсуждение добавления в GitHub возможности для автоматической блокировки мусорных pull-запросов, сгенерированных в AI-ассистентах, отправленных без ручной проверки и не соответствующих требованиям качества. Подобные изменения создают дополнительную нагрузку на сопровождающих, которые вынуждены тратить время на разбор бесполезного кода.
👍39❤‍🔥2👨‍💻1
Друзья упыри мои родные.

Я хочу Вас попросить, вдруг у Вас сейчас есть пара лишних гривен, помогите приюту где  много животных без лапок, глазиков и вообще им очень тяжко.

Я знаю єтого человека лично и ручаюсь за него.

Если там есть где указать - напишите от нашего упырьского сообщества

Из банки вынимают сейчас по надобности. Всего упыри накидали около 25000 гривен.

Спасибо Вам. Большое.
Мне очень повезло,
что Вы тут такие
,
Упыри безобразные

https://send.monobank.ua/jar/AF3gUPjyMn?utm_source=ig&utm_medium=social&utm_content=link_in_bio&fbclid=PAZXh0bgNhZW0CMTEAc3J0YwZhcHBfaWQPNTY3MDY3MzQzMzUyNDI3AAGnl5N_DqF6ejIV-_0Bbj2X05XN1MaMupuLTg5V3LL266EqXQ_OPyrJhMmAMAQ_aem_rM-soNDWLjhJiWQMQmCXjw
20🔥4🕊1
Забыли пока про стримлинг до 00.
Добрый брацкий народ учит его любить путем лишений тепла и напряжения.

Они большие молодцы.
👍17💔10🤯6🌚1
Тема вопроса: "Передача значения по значению и по ссылке"
Итак JS понятия передачи по значению и по ссылке - нету или назвать сложно

Его именно НЕТ.
Спецификация ECMA не занимается тем, что регламентирует работу с памятью или способами представления этих структур данных в памяти.

Спецификация ECMA не может дать ответа на этот вопрос ПРИНЦИПИАЛЬНО.

Мы можем, опираясь на описание поведений для тех или иных statement или expression и для себя сделать вывод, - как бы для конкретной реализации языка (v8, Chakra, и т.д.) на основе данной спецификации было бы проще это реализовать.


Важный промежуточный вывод
Спецификация ECMA не может диктовать то, каким образом Вы передаете куда-дибо какие-либо данные, потому как это вне ее зоны ответственности.

А это значит, что если мы рассуждаем именно о ЯЗЫКЕ JavaScript - то мы НЕ ИМЕЕМ НИКАКОГО ПРАВА утверждать что в языке JS существует передача по ссылке или по значению. Просто потому, что в ней нет ничего и не может быть ничего что могло бы регламентировать эту работу.

И максимум о чем мы можем судить - КАК спецификация реализована в конкретном коде (например V8).

Или пытаться проводить аналогии, между алгоритмами спецификации ECMA и тем, что мы считаем передачей по ссылке или по значению.


Разберем эти два направления: как реализовано в V8 и как мы можем интерпретировать спецификацию.

Начнем с ECMA.
В спецификации ECMA, любая передача чего-то куда, то управляется двумя конструкциями Reference Record и описанием взаимодейтсвия с ней. (Слово Reference ужу должно напрягать).
Где доступ к данным, выполняется через абстрактную операцию GetValue. Иными словами ни о каком разговоре о интерпретации этого как доступа по значению и мысли быть не может.

Потому как получить данные нельзя без вызова абстракции.

И описанием поведения инструкция let и set (не путайте с let в JS. Это разные вещи). Где в описании (ECMA ) инструкции let прямо написано
Algorithm steps may declare named aliases for any value using the form “Let x be someValue”. These aliases are reference-like in that both x and someValue refer to the same underlying data and modifications to either are visible to both.

Algorithm steps that want to avoid this reference-like behaviour

should explicitly make a copy of the right-hand side: “Let x be a copy of someValue” creates a shallow copy of someValue.
Вместо ИГОГО по части спецификации ECMA
передача чего-то по значению, принципиально невозможна, кроме случаев указанных для be a copy. Которые касаются особых поведений для Shared Array или Typed Array.

А именно меньше 1% спецификации. Или того, чем Вы в большистве своем никогда не пользуетесь. То есть того что не касается "традиционного JavaScript"


Дальше берем конкретную реализацию ECMA спецификации, а именно самую ее популярную и развитую - V8.

Где по умолчанию ВСЕ данные в JS являются Object. И исключением являются только особые случаи оптимизации поведения, когда reference может вместо самого себя как value разместить SMI или Floating Point Value.

что является частной оптимизацией поведения конкретно реализации.


ИГОГО
Как на уровне спецификации языка, так и на уровне ее реализации и речи не может идти о интерпретациях вида: передачи чего то по ссылке и чего-то по значению.

Это же можно обозначить еще и другим примером:

Если для Вас передача по значению, это работа с Primitive Value, то обьясните мне и себе каким образом передаются Symbol или BigInt.

Которые являются чистыми абстракциями, то есть никаких реальных Value на уровне реализации в машинном коде, иметь не могут.

То есть за ними лежить глубокая сложная логика при работе с ними, передача которой может быть только по ссылке.

https://news.1rj.ru/str/AsForJsTalks/251239
🔥8🙏43
Сломали стул
Протырырынькали свет
Лежим
Ждем
🙏2318🕊4❤‍🔥3🌚1
Упыри мои дорогие.
Помните просьбу о лишних гривнах приюту?

Вот Вам ответ

Спасибо Вам
35🙏8
а вот вы сразу на вскидку скажете какой размер у Array в js максимальный?

я вот все время путаю