まず、私が探しているのは共用体型ではなく、まっすぐな連結、つまり_"Hel" + "lo" = "Hello"
_ですが、文字列リテラル型であることを明確にしておきます。
基本的に、namespace
とname
の2つの文字列リテラルを受け取り、出力時にこれらを/と組み合わせて出力する関数がありますが、作成方法がわかりません。出力は、一般的な文字列ではなく、文字列リテラルです。
出力はオブジェクトのキーとして使用されるため、文字列リテラルである必要があります。
タイプintersections(_&
_)、_+
_、.concat()
を試しました
_function makeKey<NS extends string, N extends string>(namespace: NS, name: N) {
return namespace + '/' + name; // <- want this to be `NS + / + N` = `NS/N`
}
// I want this to return a string literal rather than a generic string
const objKey = makeKey('admin', 'home')
// I want typeof objKey to be a string literal: `"admin/home"`, not a generic `string`
_
typeof objKey
は一般的なstring
ですが、_string literal
_ _"admin/home"
_にしたいです