PROG_WAY_BLOG Telegram 208
Стрелочные функции или обычные?

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

Итак, ещё раз: Чем отличается стрелочная функция от функции, объявленной ключевым словом function?
— Синтаксис
— У стрелочных функций нет своего контекста this
— Стрелочные функции не всплывают, в отличии от Function Declaration
— У стрелочных функций нет доступа к псевдомассиву arguments
— Со стрелочными функциями нельзя использовать оператор new
— В стрелочных функциях нет возможности дублировать названия переменных

И, по сути, кажется, что стрелочная функция — просто более упрощенная версия обычной функции. Вам не кажется, так и есть)

Обычные функции более обширны в своём применении, но чем они платят за это?
1. Как минимум — скоростью обработки, ведь стрелочные функции создаются в среднем в 10 раз быстрее, что в случае с нагруженными проектами на слабых устройствах может вам экономить драгоценные миллисекунды JavaScript рантайма

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

3. Синтаксис субъективно более быстрый и удобный к написанию. Стрелочные функции можно красиво использовать в качестве callback-ов, а визуальная простота такого кода упрощает его чтение и понимание.

4. Более удобная типизация в случае использования отдельных типов:
const foo: FooFunc = () => {}

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

Правда, касательно производительности стоит понимать, что какой-то значимый эффект мы можем получить только на большой выборке. Если речь идет о создании порядка сотни или даже тысячи функций, то никакой разницы по производительности вы не заметите. Нужны уже более экзотичные кейсы, например, когда мы динамически создаём много уникальных callback-ов для отрисовки большого списка в React.

Спасибо за прочтение, это важно для меня ❤️

#web #theory
👍4912🔥4🐳4🤬1



tgoop.com/prog_way_blog/208
Create:
Last Update:

Стрелочные функции или обычные?

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

Итак, ещё раз: Чем отличается стрелочная функция от функции, объявленной ключевым словом function?
— Синтаксис
— У стрелочных функций нет своего контекста this
— Стрелочные функции не всплывают, в отличии от Function Declaration
— У стрелочных функций нет доступа к псевдомассиву arguments
— Со стрелочными функциями нельзя использовать оператор new
— В стрелочных функциях нет возможности дублировать названия переменных

И, по сути, кажется, что стрелочная функция — просто более упрощенная версия обычной функции. Вам не кажется, так и есть)

Обычные функции более обширны в своём применении, но чем они платят за это?
1. Как минимум — скоростью обработки, ведь стрелочные функции создаются в среднем в 10 раз быстрее, что в случае с нагруженными проектами на слабых устройствах может вам экономить драгоценные миллисекунды JavaScript рантайма

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

3. Синтаксис субъективно более быстрый и удобный к написанию. Стрелочные функции можно красиво использовать в качестве callback-ов, а визуальная простота такого кода упрощает его чтение и понимание.

4. Более удобная типизация в случае использования отдельных типов:
const foo: FooFunc = () => {}

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

Правда, касательно производительности стоит понимать, что какой-то значимый эффект мы можем получить только на большой выборке. Если речь идет о создании порядка сотни или даже тысячи функций, то никакой разницы по производительности вы не заметите. Нужны уже более экзотичные кейсы, например, когда мы динамически создаём много уникальных callback-ов для отрисовки большого списка в React.

Спасибо за прочтение, это важно для меня ❤️

#web #theory

BY progway — программирование, IT


Share with your friend now:
tgoop.com/prog_way_blog/208

View MORE
Open in Telegram


Telegram News

Date: |

The visual aspect of channels is very critical. In fact, design is the first thing that a potential subscriber pays attention to, even though unconsciously. On Tuesday, some local media outlets included Sing Tao Daily cited sources as saying the Hong Kong government was considering restricting access to Telegram. Privacy Commissioner for Personal Data Ada Chung told to the Legislative Council on Monday that government officials, police and lawmakers remain the targets of “doxxing” despite a privacy law amendment last year that criminalised the malicious disclosure of personal information. With the sharp downturn in the crypto market, yelling has become a coping mechanism for many crypto traders. This screaming therapy became popular after the surge of Goblintown Ethereum NFTs at the end of May or early June. Here, holders made incoherent groaning sounds in late-night Twitter spaces. They also role-played as urine-loving Goblin creatures. Polls Clear
from us


Telegram progway — программирование, IT
FROM American