Ну твою позицию может знать только телепат, согласен ли ты или нет. Может ты был с ней не согласен или не полностью согласен. Или имел в виду другое. Вариантов может быть несколько и поэтому пишут ответ, а не догадываются.
Если ты начинающий, то вскоре узнаешь, что не только в них.
функции ты не можешь задать возвращаемый тип и непонятно как ты с этим живешь.
Например, isNumber, isIntValue and so on.
То, что от динамической типизации тебе полностью не скрыться.
const createList = (data = {}, count = 1) => {
const preparedObj = { ...defaultObj, ...data };
return cloneObject(preparedObj, count);
};
он умеет откидывать undefined, если не все свойства переданы.
dataObj
это массив?return [...preparedObjList];
Во-первых, вопрос был задан не reinmaker1990.
Опасность использования ГП давно известна, но это не значит, что ими все перестали пользоваться.
Каким образом, если про эту особенность знать.
А зачем там должно быть true?
Ты забыл про нормальные названия перемененным.
ТС это сахар.
Если есть аргументы, то почему их не было от вас сразу. Вопрос же был вам задан или вы это видите не так?
Если вы не знаете ни одного плюса, то значит это априори минус?
Фигня. Это давно известно.
Да и в вашем примере if(a == b) { ... } ошибки не будет:
"true"
.Читабельность важнее минификации.
Я могу также ответить, что в первом случае (см. пред. свой коммент) тоже все понятно и нет надобности в доп. преобразовании.
Если тебе так не нравится динамическая типизация, то зачем иметь дело с JS.
Забавно отвечать вопросом на вопрос когда вопросом на вопрос отвечаешь сам. Не меня первым спросили "почему надо не использовать var", если уж на то пошло.
Например?
1 == true / {} / []
Да и зачем спрашивается юзать один знак, когда можно сделать тоже самое и без одного знака.
Если так обзывать переменные, то стоит идти почитать документацию.
И в чем же они?
если нужно сравнить int с строкой, которая может состоять, а может не состоять из этого int.
if(a == b) { ... }
if(a === +b) { ... }