Size: a a a

2020 March 21

TS

Terry Sahaidak in Frontend UA
Dmytro Kovalevskyi
а подскажите еще пожалуйста, можно ли создать массив из такого типа?
type StockGeneralInfoTable = 'name'|'count'|'drop'|'assembly'|'profit';
что бы массив проинициализировался со всеми вариантами этого типа
це як?
источник

DK

Dmytro Kovalevskyi in Frontend UA
что бы создался массив, элементами которого будут все варианты этого типа
источник

DK

Dmytro Kovalevskyi in Frontend UA
еще и в том же порядке в котором они указаны в типе
источник

TS

Terry Sahaidak in Frontend UA
проініціалізувався — маєть на увазі, що масив може мати один з цих літералів?

чи ти про те, що масив БУДЕ ВЖЕ МАТИ ці значення?
источник

TS

Terry Sahaidak in Frontend UA
тому що типи до рантайму вобше нічого не мають
источник

EO

Eugene Obrezkov in Frontend UA
Dmytro Kovalevskyi
что бы создался массив, элементами которого будут все варианты этого типа
типы и код рантайма - это вообще разные миры
источник

EO

Eugene Obrezkov in Frontend UA
но ты можешь через рефлексию это сделать - но зачем?
источник

DK

Dmytro Kovalevskyi in Frontend UA
Eugene Obrezkov
типы и код рантайма - это вообще разные миры
у меня этот массив создается 1 раз и не пересоздается в рантайме, поэтому я предпологаю что можно как-то написать код что бы компилятор ts создал мне массив
источник

TS

Terry Sahaidak in Frontend UA
Dmytro Kovalevskyi
у меня этот массив создается 1 раз и не пересоздается в рантайме, поэтому я предпологаю что можно как-то написать код что бы компилятор ts создал мне массив
тобі треба Enum, можливо?
источник

EO

Eugene Obrezkov in Frontend UA
Dmytro Kovalevskyi
у меня этот массив создается 1 раз и не пересоздается в рантайме, поэтому я предпологаю что можно как-то написать код что бы компилятор ts создал мне массив
ну, ты можешь сделать какой-то export const myArray = [] просто положить его на строчку ниже, где у тебя перечисляются твои типы
источник

EO

Eugene Obrezkov in Frontend UA
так ты хотя бы не пропустишь какой-то тип из union-а, но создавать в рантайме массивы, основываясь на информации из типов - нет
источник

DK

Dmytro Kovalevskyi in Frontend UA
но, например, создавать основываясь на enum можно?
источник

TS

Terry Sahaidak in Frontend UA
Dmytro Kovalevskyi
но, например, создавать основываясь на enum можно?
enum – це просто об’єкт. синтаксичний цукор
источник

TS

Terry Sahaidak in Frontend UA
источник

DK

Dmytro Kovalevskyi in Frontend UA
ага, спасибо парни
источник

M

Mark in Frontend UA
Terry Sahaidak
enum – це просто об’єкт. синтаксичний цукор
там проблема з тим що через Object.keys тобі видасть масив строк
источник

M

Mark in Frontend UA
источник

M

Mark in Frontend UA
і тоді треба десь городити as
источник

M

Mark in Frontend UA
якось так можна
источник

M

Mark in Frontend UA
источник