Size: a a a

2020 May 26

АГ

Андрей Гуртовой... in javascript_ru
Серго Программер
Я даже никакого логического объяснения не могу найти.
[] + {}  —  приведение типов сделает из пустого массива пустую строку а из любого объекта  строку из метода toString()

сама же строка [object Object] означает что это был объект, который создан конструктором Object
источник

AK

Andrey Karepin in javascript_ru
Серго Программер
Я даже никакого логического объяснения не могу найти.
потому что ты не читаешь документацию
источник

АГ

Андрей Гуртовой... in javascript_ru
таким образом стоит углубляться начиная с понимания что такое приведение типов )
источник

АГ

Андрей Гуртовой... in javascript_ru
вот наглядный пример с toString

o = {toString() { return 'lololo'}}
[] + o; // => "lololo"
источник

АГ

Андрей Гуртовой... in javascript_ru
или даже так )))
class Arr extends Array {toString(){return 'lalala'}}
a = new Arr;
o = {toString(){return ' lololo'}};

a+o // => "lalala lololo"
источник

СП

Серго Программер... in javascript_ru
Андрей Гуртовой
[] + {}  —  приведение типов сделает из пустого массива пустую строку а из любого объекта  строку из метода toString()

сама же строка [object Object] означает что это был объект, который создан конструктором Object
Понял, спасибо за объяснение.
источник

АГ

Андрей Гуртовой... in javascript_ru
у приведения типов есть приколы. и лучше бы про них помнить (точное поведение знать не нужно) )

4 + '2' // => "42"
4 - '2' // => 2
источник

#⤴

# ⤴︎ in javascript_ru
Лучше не приводить типы. Тайпскрипт слегка помогает
источник

АГ

Андрей Гуртовой... in javascript_ru
Или приводить руками
источник

АГ

Андрей Гуртовой... in javascript_ru
Но лучше не заморачиваться. И всегда помнить.  Пушто турескрипт не спасёт от неправильных данных из апи.
источник

AA

Anton Antonov in javascript_ru
Андрей Гуртовой
Но лучше не заморачиваться. И всегда помнить.  Пушто турескрипт не спасёт от неправильных данных из апи.
а что спасет? нормалайзер от Дэна Абрамова?
источник

АГ

Андрей Гуртовой... in javascript_ru
Anton Antonov
а что спасет? нормалайзер от Дэна Абрамова?
Никто не спасёт от невежества)
источник

AA

Anton Antonov in javascript_ru
Андрей Гуртовой
Никто не спасёт от невежества)
ну я имею ввиду, есть ли какой то инструмент, который говорил бы - вот эти данные от бэка пришли некорректные (точнее, такие, каких фронт  не ожидает)
источник

АГ

Андрей Гуртовой... in javascript_ru
Anton Antonov
ну я имею ввиду, есть ли какой то инструмент, который говорил бы - вот эти данные от бэка пришли некорректные (точнее, такие, каких фронт  не ожидает)
Вроде бы в турескрипте такой режим есть. Но я не разбираюсь в нём
источник

AA

Anton Antonov in javascript_ru
Андрей Гуртовой
Вроде бы в турескрипте такой режим есть. Но я не разбираюсь в нём
ну есть типы, которые фронтенд ждет от бэка, но в рантайме они не валидируются
источник

АГ

Андрей Гуртовой... in javascript_ru
Anton Antonov
ну есть типы, которые фронтенд ждет от бэка, но в рантайме они не валидируются
я не очень осведомлён как автоматом это делается в турескрипте, но  например есть вот такое в нпме
https://github.com/pelotom/runtypes
источник

AA

Anton Antonov in javascript_ru
Андрей Гуртовой
я не очень осведомлён как автоматом это делается в турескрипте, но  например есть вот такое в нпме
https://github.com/pelotom/runtypes
выглядит интересно
источник

AA

Anton Antonov in javascript_ru
или тесты через постман как то к фронту прикрутить для тестирования
источник

АГ

Андрей Гуртовой... in javascript_ru
или просить бекендеров если они меняют апи чтобы они старые поля не выпиливали какое-то время, а только добавляли новые.
источник

АГ

Андрей Гуртовой... in javascript_ru
ну и также  полезно иметь что-то вроде sentry чтобы держать руку на пульсе )
источник