Погружение в тему неявных преобразований. Где и как возникают и вычисляются неявные преобразования в JavaScript? Возможно ли средствами языка сделать сам JavaScript сильнее?

Image for post
Image for post
Альбрехт Дюрер. Гравюра «Носорог» (1515)

tl; dr

В JavaScript все преобразования между типами сводятся к выполнению абстрактных операторов приведения типов, например, ToBoolean, ToNumber, ToBigInt и так далее. Несмотря на представление о том, что в JavaScript «можно сложить что угодно с чем угодно», в языке существуют ошибки приведения типов. Из всех приведений типов только приведение типа Object возможно контролировать.

Сильная и слабая типизация

Понятие «сильная типизация» (или иногда еще говорят «строгая типизация») не имеет одного определения, существует несколько различных трактовок. …

Скорее всего вы уже встречались с понятием «полиморфизм» и даже помните пример с наследованием кошек и собак от Animal или квадратов и кругов от Shape. Однако эти примеры показывают далеко не всё, что скрывается за полиморфизмом.

Image for post
Image for post
Jonstonus, Joannes: “A description of the nature of four-footed beasts”

Как читать статью? Статья большая, пытайтесь читать ее частями, не забывайте обращать внимание на сопровождающие статью ссылки.

Благодарности

Дисклеймер

Чтобы у вас было представление об авторе данной заметки, предупреждаю, что не являюсь специалистом в области Computer Science, поэтому в статье могут присутствовать умышленные или неумышленные допущения. …

Совсем несерьезная заметка непрофессионала о профессиональном и профессионалах на прошедшей конференции FPure в Казани

Image for post
Image for post

Дисклеймер

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

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

Ниже постараюсь в сжатом виде, сквозь призму своего понимания, передать то, что происходило на конференции. Моя цель — донести тем, кто далек от мира функционального программирования, что не так страшен черт, как его малюют.

tl;tr

Fpure. 10 Бравитов из 10. Крайне рекомендую! …

About

Sergey Ufocoder

I’m living in your web browser

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store