从两个只读数组的并集创建typescript类型
我有下面的typescript代码,其中定义了两个只读数组,然后基于这两个数组的并集创建一个类型。但是,当我试图定义类型为从两个只读数组的并集创建typescript类型,typescript,visual-studio-code,Typescript,Visual Studio Code,我有下面的typescript代码,其中定义了两个只读数组,然后基于这两个数组的并集创建一个类型。但是,当我试图定义类型为Note的变量时,vscode没有给我任何智能感知。为什么呢?有没有更好的办法来解决我在这里想要达到的目标 const allNotes = ["A", "A#", "B", "C", "C#", "D", &
Note
的变量时,vscode没有给我任何智能感知。为什么呢?有没有更好的办法来解决我在这里想要达到的目标
const allNotes = ["A",
"A#",
"B",
"C",
"C#",
"D",
"D#",
"E",
"F",
"F#",
"G",
"G#",] as const
const allNotesWithFlats = [
"A",
"Bb",
"B",
"C",
"Db",
"D",
"Eb",
"E",
"F",
"Gb",
"G",
"Ab"
]
type Note = typeof allNotes[number] | typeof allNotesWithFlats[number];
const n : Note = '' // No intellisense
第二个数组将
忘为const
:
const allNotes = ["A",
"A#",
"B",
"C",
"C#",
"D",
"D#",
"E",
"F",
"F#",
"G",
"G#",] as const
const allNotesWithFlats = [
"A",
"Bb",
"B",
"C",
"Db",
"D",
"Eb",
"E",
"F",
"Gb",
"G",
"Ab"
] as const
type Note = typeof allNotes[number] | typeof allNotesWithFlats[number];
const n : Note = '' // No intellisense
这对我来说很好。你忘记了第二个数组中的
为const
:
const allNotes = ["A",
"A#",
"B",
"C",
"C#",
"D",
"D#",
"E",
"F",
"F#",
"G",
"G#",] as const
const allNotesWithFlats = [
"A",
"Bb",
"B",
"C",
"Db",
"D",
"Eb",
"E",
"F",
"Gb",
"G",
"Ab"
] as const
type Note = typeof allNotes[number] | typeof allNotesWithFlats[number];
const n : Note = '' // No intellisense
这对我很管用