понедельник, 18 апреля 2022 г.

Stripe в стартапе: какой вариант интеграции выбрать?

Stripe (https://stripe.com/) - это не только платежная система со своим апи, но и готовые UI элементы и готовый web интерфейс для работы с платежами. Можно сделать удобный/красивый/функциональный платежный сервис прямо на своем сайте и на все платежные сценарии (включая refund).

суббота, 16 апреля 2022 г.

Любопытные грабли в JS: что вернет конструкция () => { name: 'my name' } ?

Мне было лень написать return и вокруг всего ставить еще одну пару фигурных скобочек, поэтому я решил сэкономить на них.

И получил 'null'.

Для меня это оказалось неожиданностью и я тщательно проотлаживал весь код вокруг этой функции в поисках ошибки или опечатки... И опечатка действительно есть, только она оказалась внутри этой анонимной функции: компилятор считает, что фигурные скобки открывают тело функции, внутри которой нет никакого 'return value'. Действительно должен быть null.

Что бы все таки получить из функции объект и при этом не писать явный return и новые фигурные скобки нужно написать так:

() => ({ name: 'my name' })

В новом варианте компилятор правильно решит, что мне лень написать фигурные скобки и 'return' и он сделает мой объект результатом выполнения функции.