Typescript garip tipi


Bu türle karşılaştım:

let a: [number | string];

Google'da aradım ve TypeScript belgelerine baktım ama bu sözdizimiye karşılaşmadım. Bu nedir, temel olarak bir string veya number birleşimi olduğunu görüyorum ama bu ne bir tuple ne de bir dizi. Bu neye karşılık geliyor? Biri basit bir şekilde açıklayabilir ve nasıl başlatılacağını ve değer ekleyeceğini gösterebilir mi lütfen.

Cevap #1

Bu, boyutu 1 olan bir demettir. İçinde ya bir sayı ya da bir dize bulunur.

Cevap #2

Kişisel olarak, bunu yalnızca bir öğe tutabilen bir dizi olarak tanımlardım ve bu öğe ya bir sayı ya da bir string olmalıdır.

Diziyi aynı zamanda bir demet (tuple) olarak da tanımlayabilirsiniz, ama şahsen demetlerin tüm amacının birden fazla değer tutmaları gerektiğini, sadece bir tane değil, olduğunu düşünüyorum. İkisi de doğrudur.

Not: Tanımadığım bir sözdizimiyle karşılaştığımda, onları TypeScript sandbox'ta denemeyi ve oluşturulan JavaScript koduna bakmayı severim: https://www.typescriptlang.org/play/

İlgili makaleler