Что будет отображено в консоли при выполнении следующего кода:
тем кому слишком просто, задачка со звездочкой - почему происходит именно так
var theSym = Symbol("abc");
console.log( theSym );
console.log( `${theSym}` );
тем кому слишком просто, задачка со звездочкой - почему происходит именно так
Пояснения относительно задачи про Symbol.
Короткий ответ:
console.log - это внешнее API, которое не обязано подчинятся спецификации ECMA.
Описание того, как и что именно, может делать метод log обьекта console содрежится в спецификации HTML5.
Где прямо написано - решение о том, как поведет себя метод
Длинный ответ:
Чтобы легко ориентироваться в том, как работает JS - нужно помнить три простых принципа:
1) JS это язык, в котором нет своего ввода/вывода. Любое получение данных или отображение данных, зависит не от языка JS. и может быть каким угодно, в зависимости от того, как работает внешнее API
2) механизм прототипного наследования, которым пронизана вся спецификация (для нашего случая сейчас не принципиален)
3) каждый statement разбирается на выражения, которые выполняются согласно алгоритму заявленному спецификацией.
то есть когда Вы смотрите на строку кода, то в ней НЕТ НИЧЕГО чтобы не прошло через какой то алгоритм.
даже когда вы пишите просто число
в строке с
1)
2)
3) идентификатор
Если кратко - вызов внешнего API
Результат? - в душе не тилельнкаю, потому, что это внешнее API которое может делать чем ему вздумается.
Вторая часть
отличается от первой тем, что идентификатор
Согласно которому, в случае типа
Вместо ИГОГО:
Сталкиваясь с любым поведением, которое вас ставит в тупик, первое что сделайте - разделите где сам язык JS, который регламентируется ECMA Spec, а где вызов внешнего API.
Поведение которого, не обязательно регламентируется той самой ECMA Spec. И может быть как подчинено сторонней спецификации так и быть галлюцинацией программиста, который реализовывал API.
То есть разница в выводе заявленной задачи, оьясняется тем, что метод log обьекта console, а точнее те кто его реализовывал в Google Chrome, сделали так как им удобно. Вопреки тому, что диктует спецификация
Короткий ответ:
console.log - это внешнее API, которое не обязано подчинятся спецификации ECMA.
Описание того, как и что именно, может делать метод log обьекта console содрежится в спецификации HTML5.
Где прямо написано - решение о том, как поведет себя метод
log
- лежит на плечах программиста который реализует этот метод. Реализует так - как ему хочется.Длинный ответ:
Чтобы легко ориентироваться в том, как работает JS - нужно помнить три простых принципа:
1) JS это язык, в котором нет своего ввода/вывода. Любое получение данных или отображение данных, зависит не от языка JS. и может быть каким угодно, в зависимости от того, как работает внешнее API
2) механизм прототипного наследования, которым пронизана вся спецификация (для нашего случая сейчас не принципиален)
3) каждый statement разбирается на выражения, которые выполняются согласно алгоритму заявленному спецификацией.
то есть когда Вы смотрите на строку кода, то в ней НЕТ НИЧЕГО чтобы не прошло через какой то алгоритм.
даже когда вы пишите просто число
1
- то это не данные, это statement который приводит к тому, что возвращается ссылка на что-то что описывает данные.var theSym = Symbol("abc");
console.log( theSym );
в строке с
console.log
у нас несколько частей, которые пройдут работу согласно алгоритмам спецификации:1)
console.log
- получение ссылки на метод2)
( )
- callable expression, то есть вызов чего то с чем то3) идентификатор
theSym
- получение ссылки на структуру данных связанной с идентификатором theSym
Если кратко - вызов внешнего API
log
, внешнего обьекта console
, передав ему ссылку на то, что связано с идентификатором theSym
.Результат? - в душе не тилельнкаю, потому, что это внешнее API которое может делать чем ему вздумается.
Вторая часть
console.log( `${theSym}` );
отличается от первой тем, что идентификатор
theSym
проходит через еще один этап вычисления выражения (алгоритма спецификации ECMA). Который требует вызов метода toString
применимого к идентификатору, из-за использования темплейт литерал.Согласно которому, в случае типа
Symbol
, должно быть throw.Вместо ИГОГО:
Сталкиваясь с любым поведением, которое вас ставит в тупик, первое что сделайте - разделите где сам язык JS, который регламентируется ECMA Spec, а где вызов внешнего API.
Поведение которого, не обязательно регламентируется той самой ECMA Spec. И может быть как подчинено сторонней спецификации так и быть галлюцинацией программиста, который реализовывал API.
То есть разница в выводе заявленной задачи, оьясняется тем, что метод log обьекта console, а точнее те кто его реализовывал в Google Chrome, сделали так как им удобно. Вопреки тому, что диктует спецификация
❤16🔥6👍2😍2
Смотрите по сторонам.
Не пропускайте жизнь которая идет вокруг Вас.
Те кто умеет єто делать и становятся счастливыми людьми.
https://www.youtube.com/watch?v=5wrwcEZ3Btw
Не пропускайте жизнь которая идет вокруг Вас.
Те кто умеет єто делать и становятся счастливыми людьми.
https://www.youtube.com/watch?v=5wrwcEZ3Btw
YouTube
Moby - 'In This World' (Official Video)
Moby - 'In This World' from the 2002 album '18.'
Subscribe to Moby: http://moby.la/subscribeytYo
For info on Moby music, merch, tour dates & more, please visit https://moby.com/
Follow Moby
Instagram: http://moby.la/instagramYo
Mailing List: http…
Subscribe to Moby: http://moby.la/subscribeytYo
For info on Moby music, merch, tour dates & more, please visit https://moby.com/
Follow Moby
Instagram: http://moby.la/instagramYo
Mailing List: http…
❤11❤🔥3👍1😍1👀1
время прохладных историй:
Как Мурыч не стал Google Expert-ом
Для того, чтобы стать Google Expert-ом в той или иной области, то есть получить на их сайте подтверждение, что такой есть, иметь возможность быть приглашенным на общую пати и вам даже оплатят дорогу и проживание, нужно...
В течении года, на одном из профильных форумов (Вы не знали что такие есть?), активно давать "правильные" ответы.
Список того, что является "правильным" ответом, в зависимости от направления, Вы либо находите в специальном разделе документации самого Google либо Вам его предоставляют прямо в правилах самого форума.
За этот отчетный год, Вас должны заметить двое участников форума, которые уже имеют "регалии" и порекомендовать Вас на голосование, где такие же "експерты" выносят свое решение о том, быть Вам или не быть.
То есть, все что Вам нужно, это не быть программистом или специалистом в области. Вам нужно проявлять активность и оперативно давать заранее существующие уже ответы на вопросы, которые задают пользователи.
И тогда, под конец года, Вам сообщают, что Вас могут номинировать. Но с одним важным условием - если до номинации, Вы могли позволять себе некие вольности, то после - вы обязаны отвечать только так, как требует политика партии.
Ну и за это Вам - ваше имя на их сайте, и раз в год бесплатные пченьки с алкоголем на пати.
Среди таких номинантов, получивших имя, есть люди которые не написали НИ ОДНОЙ СТРОЧКИ КОДА.
Мурыч, как узнал что обязан отвечать так как положено, но не так как хочется - послал всю эту богодельню курсом русского корабля.
Вот такой он молодец. ( Для тех кто не понимает языка иронии от Мурыча - это было именно он).
Важное ПыСы:
Можно получить и иначе. Например писать какие-то одобряемые статьи. Только это все равно ничего не меняет с учетом всего того, что выше.
Такие вот они Google иксперты.
Люди со звездами на GitHub обладают большей доказанной экспертизой.
Как Мурыч не стал Google Expert-ом
Для того, чтобы стать Google Expert-ом в той или иной области, то есть получить на их сайте подтверждение, что такой есть, иметь возможность быть приглашенным на общую пати и вам даже оплатят дорогу и проживание, нужно...
В течении года, на одном из профильных форумов (Вы не знали что такие есть?), активно давать "правильные" ответы.
Список того, что является "правильным" ответом, в зависимости от направления, Вы либо находите в специальном разделе документации самого Google либо Вам его предоставляют прямо в правилах самого форума.
За этот отчетный год, Вас должны заметить двое участников форума, которые уже имеют "регалии" и порекомендовать Вас на голосование, где такие же "експерты" выносят свое решение о том, быть Вам или не быть.
То есть, все что Вам нужно, это не быть программистом или специалистом в области. Вам нужно проявлять активность и оперативно давать заранее существующие уже ответы на вопросы, которые задают пользователи.
И тогда, под конец года, Вам сообщают, что Вас могут номинировать. Но с одним важным условием - если до номинации, Вы могли позволять себе некие вольности, то после - вы обязаны отвечать только так, как требует политика партии.
Ну и за это Вам - ваше имя на их сайте, и раз в год бесплатные пченьки с алкоголем на пати.
Среди таких номинантов, получивших имя, есть люди которые не написали НИ ОДНОЙ СТРОЧКИ КОДА.
Мурыч, как узнал что обязан отвечать так как положено, но не так как хочется - послал всю эту богодельню курсом русского корабля.
Вот такой он молодец. ( Для тех кто не понимает языка иронии от Мурыча - это было именно он).
Важное ПыСы:
Можно получить и иначе. Например писать какие-то одобряемые статьи. Только это все равно ничего не меняет с учетом всего того, что выше.
Такие вот они Google иксперты.
Люди со звездами на GitHub обладают большей доказанной экспертизой.
🤯16❤8👍7🤣3🔥2
Задача для тех кому нечем заняться.
Object String или задача с двумя подводными камнями.
Оценим обьект, который создан при помощи конструктора String.
Воспользуемся для этого любым доступным инструментом:
развернув сформированный вывод для созданного обьекта String, мы увидим три ключа: 0, 1, 2 каждый из которых связан с соответствующей буквой: a, b, с
Вопрос:
Согласно ECMA, чем является каждое из этих property? Самостоятельной строкой или нет?
Object String или задача с двумя подводными камнями.
Оценим обьект, который создан при помощи конструктора String.
Воспользуемся для этого любым доступным инструментом:
console.dir( new String("abc") );
развернув сформированный вывод для созданного обьекта String, мы увидим три ключа: 0, 1, 2 каждый из которых связан с соответствующей буквой: a, b, с
Вопрос:
Согласно ECMA, чем является каждое из этих property? Самостоятельной строкой или нет?
👍3👨💻1
Ушел на радугу легендарный рестлер Халк Хоган.
На ринге он был столько, сколько я живу с 1977 года.
https://www.youtube.com/watch?v=zUeMku7GO74
На ринге он был столько, сколько я живу с 1977 года.
https://www.youtube.com/watch?v=zUeMku7GO74
💔36🕊3
Forwarded from Ruslan
Из всего айти отдела вайбовал один лишь я.
У меня Курсор с подпиской, я довольный как свинья.
Мой папанька инженером отбатрачил тридцать лет,
А сейчас в анкетах пишет что детей у него нет
Я теперь на таски скор - у меня же есть Курсор.
Я на нём вайб код лабаю всем олдам наперекор.
Любой челендж для меня нынче полная фигня.
А-а-а!! Вайбовый кодер я!
На меня техлид-собака матерится каждый день,
Обзывает говнокодом, косо смотрит, старый пень.
Мёрдж риквесты не пускает, ничего, что я вношу,
Всё за то, что я с Курсором в лучших практиках пишу.
Разгоняет злую ложь, что с лапшою код мой схож.
Да и что в этом плохого? Коль работает - не трожь.
Но коллеги и друзья презирают все меня.
А-а-а!! Вайбовый кодер я!
Нахрен брошу ту контору и поеду во Фремонт,
За свово меня там примут, ведь в почете там вайб код.
Осную стартапов кучу, заработаю бабла,
И маманька бросит плакать, что такого родила.
Всё, покедова, друзья, не кляните вы меня.
Вам подарок с чистым сердцем напоследок сделал я:
Во все репы от души лучших практик наложил.
А-а-а!! Вайбовый кодер я!
У меня Курсор с подпиской, я довольный как свинья.
Мой папанька инженером отбатрачил тридцать лет,
А сейчас в анкетах пишет что детей у него нет
Я теперь на таски скор - у меня же есть Курсор.
Я на нём вайб код лабаю всем олдам наперекор.
Любой челендж для меня нынче полная фигня.
А-а-а!! Вайбовый кодер я!
На меня техлид-собака матерится каждый день,
Обзывает говнокодом, косо смотрит, старый пень.
Мёрдж риквесты не пускает, ничего, что я вношу,
Всё за то, что я с Курсором в лучших практиках пишу.
Разгоняет злую ложь, что с лапшою код мой схож.
Да и что в этом плохого? Коль работает - не трожь.
Но коллеги и друзья презирают все меня.
А-а-а!! Вайбовый кодер я!
Нахрен брошу ту контору и поеду во Фремонт,
За свово меня там примут, ведь в почете там вайб код.
Осную стартапов кучу, заработаю бабла,
И маманька бросит плакать, что такого родила.
Всё, покедова, друзья, не кляните вы меня.
Вам подарок с чистым сердцем напоследок сделал я:
Во все репы от души лучших практик наложил.
А-а-а!! Вайбовый кодер я!
🤣42❤13🔥4😁2🤯2
Мотивирующая песня пятницы.
https://www.youtube.com/watch?v=7ohc_rjbKVA
https://www.youtube.com/watch?v=7ohc_rjbKVA
YouTube
Енджі Крейда - Чмо (cover radiohead) 2021
Кавер версія пісні CREEP (radiohead) Альт-Поп групи Енджі Крейда.
Текст Максим Коломис
Придбати альбом гурту можна, на цифрових платформах https://ffm.to/x1keqp1 чи написавши нам в будь-яку соц.мережу.
Крейда в Тік-Ток https://vm.tiktok.com/ZSV61KBS/
Крейда…
Текст Максим Коломис
Придбати альбом гурту можна, на цифрових платформах https://ffm.to/x1keqp1 чи написавши нам в будь-яку соц.мережу.
Крейда в Тік-Ток https://vm.tiktok.com/ZSV61KBS/
Крейда…
🔥4👎2😁1🌚1
Я хочу Вам рассказать про людей, которые делают сборы.
Про те сборы, что о войне.
Про тех людей, о которых Вы ничего или мало, что слышали.
Про тех людей которых я знаю лично.
Потому, что делай людям добро и бросай его в воду.
Это про тех людей, которые отдали все что у них есть, от машины до своего комфорта, зарабатывая не меньше чем те кто покупают самокат и сильно переживают про то, что попали в ДТП при страховке, которая оплачивает им 100% компенсации, вне зависимости от вины водилы самоката.
Вы ошибетесь, если подумаете, что я осуждаю кого-то кто сохранил свое теплое насиженое место, при этом решая проблемы сборов.
Но не ошибетесь, что я считаю гидотой тех, кто на фоне этого начинают выпячивать это свое место.
Потому, что у меня перед глазами те люди, которые зарабатывая не меньше - отдали все на те же сборы и отдают все, что у них есть. А не только тем что не жалко. Они первые кто жертвуют ВСЕМ.
Эти люди делают добро и бросают его в воду, даже тогда когда их семьи страдают от этого.
Это и Никита Птица, который зарабатывает много и с диагнозом который требует обязательного лечения, сам лично закрывает своими деньгами сборы. ВСЕМИ своими деньгами.
Это и V@L который зарабатывает много меньше, но отдаст все, лишь бы спасти человека. И тот кто меня называет Вуйко, который без работы, но отправит людям последние 100 дол. Я не про себя. Я про то какие Они. Люди. Тимурычи, Никтичиы, Валычи, Вуковичи, Катеринычи ...
И Вы никогда от них не услышите, про беду на треке, или про свой пенсионный фонд.
Это люди с большой буквы.
И ругайте меня сколько хотите за эти слова. Только вот именно они(эти люди) сделают и никогда об этому никому не скажут.
И не расскажут про новый свой самокат, когда кто-то ждем помощи или есть незакрытый сбор. А таких сборов больше чем людей.
И это вызывает мое безмерное уважение.
Я склоняю голову перед такими людьми.
Делай добро и бросай его в воду.
Про те сборы, что о войне.
Про тех людей, о которых Вы ничего или мало, что слышали.
Про тех людей которых я знаю лично.
Потому, что делай людям добро и бросай его в воду.
Это про тех людей, которые отдали все что у них есть, от машины до своего комфорта, зарабатывая не меньше чем те кто покупают самокат и сильно переживают про то, что попали в ДТП при страховке, которая оплачивает им 100% компенсации, вне зависимости от вины водилы самоката.
Вы ошибетесь, если подумаете, что я осуждаю кого-то кто сохранил свое теплое насиженое место, при этом решая проблемы сборов.
Но не ошибетесь, что я считаю гидотой тех, кто на фоне этого начинают выпячивать это свое место.
Потому, что у меня перед глазами те люди, которые зарабатывая не меньше - отдали все на те же сборы и отдают все, что у них есть. А не только тем что не жалко. Они первые кто жертвуют ВСЕМ.
Эти люди делают добро и бросают его в воду, даже тогда когда их семьи страдают от этого.
Это и Никита Птица, который зарабатывает много и с диагнозом который требует обязательного лечения, сам лично закрывает своими деньгами сборы. ВСЕМИ своими деньгами.
Это и V@L который зарабатывает много меньше, но отдаст все, лишь бы спасти человека. И тот кто меня называет Вуйко, который без работы, но отправит людям последние 100 дол. Я не про себя. Я про то какие Они. Люди. Тимурычи, Никтичиы, Валычи, Вуковичи, Катеринычи ...
И Вы никогда от них не услышите, про беду на треке, или про свой пенсионный фонд.
Это люди с большой буквы.
И ругайте меня сколько хотите за эти слова. Только вот именно они(эти люди) сделают и никогда об этому никому не скажут.
И не расскажут про новый свой самокат, когда кто-то ждем помощи или есть незакрытый сбор. А таких сборов больше чем людей.
И это вызывает мое безмерное уважение.
Я склоняю голову перед такими людьми.
Делай добро и бросай его в воду.
👍22❤10🤯2🕊2🔥1🤣1