Size: a a a

2020 May 07

AN

Anton Nemtsev in Frontend UA
ну да, это только для некоторых экзотических похоже
источник

SS

Serhey Shmyg in Frontend UA
Anton Nemtsev
ну да, это только для некоторых экзотических похоже
не для примітивів
источник

AN

Anton Nemtsev in Frontend UA
А как в реальной жизни выглядит абстрактный toObject?
https://tc39.es/ecma262/#sec-toobject

new Number(3)
new String("3")

Или как то иначе?
источник

AN

Anton Nemtsev in Frontend UA
или его в реальной жизни то и нету?
источник

AN

Anton Nemtsev in Frontend UA
а, нет Object(10)
источник

AN

Anton Nemtsev in Frontend UA
Object("3")
источник

IT

Ivan Tytarenko in Frontend UA
Anton Nemtsev
А как в реальной жизни выглядит абстрактный toObject?
https://tc39.es/ecma262/#sec-toobject

new Number(3)
new String("3")

Или как то иначе?
Ты можешь поискать по названию абстрактной операции кстати. Они обычно вызываются в менее абстрактных
источник

IT

Ivan Tytarenko in Frontend UA
Тот же ToPrimitive в ToNumber и т.п.
источник

IT

Ivan Tytarenko in Frontend UA
Но поиск много чего выдаст, да. В т.ч. лишнего
источник

AN

Anton Nemtsev in Frontend UA
я поискал.
toObject кажется отсутствует, кроме как прототипе (фреймворке)
источник

AN

Anton Nemtsev in Frontend UA
но немного подумав, я понял что Object() как раз успешно кастит
источник

AN

Anton Nemtsev in Frontend UA
кстати, а будет разница между
Object("3")
и
new Object("3")
источник

AN

Anton Nemtsev in Frontend UA
?
источник

AN

Anton Nemtsev in Frontend UA
кажется оба вернут String {"3"}
источник

AN

Anton Nemtsev in Frontend UA
одно вызывает конструктор, очевидно, но я не вижу как это влияет в данном контексте
источник

IT

Ivan Tytarenko in Frontend UA
Я думаю, что в механике работы.
Во втором случае new создаст объект и передаст его в функцию в качестве this. Собственно к нему и применятся все свойства, который должны быть в объекте
источник

IT

Ivan Tytarenko in Frontend UA
в целом же - the same
источник

IT

Ivan Tytarenko in Frontend UA
т.е. если бы ты вызывал обычную функцию без new - она бы записала в свой this проперти, которые там тебе нужны. А с new - в переданный ей объект.
С Object это не сработает, т.к. Object сам по себе вернет объект. Но общая логика работы останется такой же

Но это я спекулирую, по правде говоря
источник

KY

Kyrylo Yakovenko • 𝟰... in Frontend UA
Anton Nemtsev
одно вызывает конструктор, очевидно, но я не вижу как это влияет в данном контексте
Может разница в instanceof?
источник

IT

Ivan Tytarenko in Frontend UA
ну там будет instanceof String
источник