Да, я в комменте на прошлый ответ отписал - деструктуризовать пропсы самый простой способ, но придётся сначала их всех перечислить в деструктуризации
но иногда нужно оставить props как цельный объект, потому что его либо целиком передаёшь в композабл, либо делаешь const { prop1, prop2 } = toRefs(props) - в таком случае prop1 имя уже занято будет
Извиняюсь, что не уточнил
Говоря оптимально, я имел ввиду чтобы ничего не пришлось перечислять. Понятно, что можно собрать как-то отдельно пропсы. В данном случае самый быстрый способ это новая деструктуризация пропсов, введённая в 3.5 версии vue
И, всё же, утоли моё любопытство, пожалуйста, для чего тебе такой объект (ключ = значение)?
на работе в проекте такие объекты вместо enum'ов (видимо, чтобы можно было итерироваться по ним), хочу сделать побольше контроля над ними - часто опечатки делаются при их задании
WbICHA, видимо мы друг друга не понимаем, объясни другими словами.
Ты когда типизируешь какой-то объект, ты делаешь абсолютно то же самое, что я собираюсь с классом. Класс - описание объекта, что плохого в типизированных объектах-то?
Alexandroppolus, я же сказал, такая функция у меня уже есть, я и хотел её использовать в качестве конструктора. И в прошлом комменте я объяснил, зачем захотел сделать это в классе
представь объект { one: "one", two: "two", three: "three" }
это по сути обычный объект, но со своими правилами и жесткой типизацией. При чем в его задании легко ошибиться, поэтому делаю задание new MirrorObject(["one", "two", "three"])
Функция задания такого объекта и тип отдельно есть, но т.к. это структура данных, хочу объединить их в класс, а для этого нужно тип привести в интерфейс класса