0Pricing
TypeScript Academy · Ders

Dize ve Sayısal Değişmez Türleri

Değerleri değişmez türlerle tam olarak belirlenmiş dizeler ve sayılarla sınırlandırın.

Dize ve Sayısal Değişmez Türleri, CoddyKit'te ücretsiz bir TypeScript Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, TypeScript Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. TypeScript Academy kursu toplamda 4 dersten oluşur.

Sabit Değer Türü Nedir?

Çoğu tür, değerlerden oluşan bir kümeyi tanımlar. string herhangi bir metin, number ise herhangi bir sayı anlamına gelir. Sabit değer türü, bunu tek bir kesin değerle sınırlar.

'north' türü yalnızca 'north' metnine izin verir; başka hiçbir değere izin vermez. Sabit değer türleri, izin verilen kesin ve sonlu değer kümelerini doğrudan tür sisteminde modellemenizi sağlar.

let dir: 'north' = 'north';
console.log(dir);
// dir = 'south'; // Error: not assignable to type 'north'

Dize Sabiti Birleşimleri

Tek bir sabit değer tek başına pek kullanışlı değildir. Birkaç sabit değeri | ile birleştirerek bir sabit değer birleşimi oluşturabilirsiniz. Sabit bir seçenek kümesini modellemenin en yaygın yolu budur.

Aşağıdaki Direction yalnızca dört kesin metinden biri olabilir.

type Direction = 'north' | 'south' | 'east' | 'west';

let heading: Direction = 'east';
console.log('Heading:', heading);

heading = 'west';
console.log('Now:', heading);

Geçersiz Değerleri Reddetme

Sabit değer birleşimlerinin gücü, derleyicinin izin verilen kümenin dışındaki her şeyi reddetmesidir. Yazım hataları ve geçersiz seçenekler, çalışma zamanı hataları yerine derleme zamanı hatalarına dönüşür.

type Direction = 'north' | 'south' | 'east' | 'west';

let heading: Direction = 'north';
console.log(heading);
// heading = 'up'; // Error: '"up"' is not assignable to 'Direction'

İşlev Parametreleri Olarak Sabit Değerler

Yalnızca belirli değerleri kabul eden işlev parametreleri için sabit değer birleşimlerini kullanın. İşlevi çağıran kişi otomatik tamamlama desteği alır ve geçersiz bir değer göndermekten alıkonur.

type Direction = 'north' | 'south' | 'east' | 'west';

function move(dir: Direction): string {
  return 'Moving ' + dir;
}

console.log(move('south'));
// console.log(move('left')); // Error

Sayısal Sabit Değer Türleri

Sabit değer türleri yalnızca metinler için kullanılmaz. Kesin sayıları da kullanabilirsiniz. Klasik bir örnek, yüz değerinin 1 ile 6 arasındaki değerlerden biri olması gereken altı yüzlü zardır.

type Dice = 1 | 2 | 3 | 4 | 5 | 6;

function roll(): Dice {
  return (Math.floor(Math.random() * 6) + 1) as Dice;
}

console.log('Rolled:', roll());

Parametrelerde Sayısal Sabit Değerler

Sayısal sabit değer birleşimleri, girdileri kesin bir sayı kümesiyle sınırlar; kalite düzeyleri, HTTP benzeri kodlar veya ızgara boyutları gibi durumlar için idealdir.

type Quality = 1 | 2 | 3;

function setQuality(level: Quality): void {
  console.log('Quality set to', level);
}

setQuality(2);
// setQuality(5); // Error: 5 is not 1 | 2 | 3

Metin ve Sayısal Sabit Değerleri Birleştirme

Birleşim, farklı sabit değer türlerini bir araya getirebilir. Bu, adlandırılmış bir ön ayarı veya ham bir değeri kabul eden API'ler için kullanışlıdır.

type Size = 'small' | 'large' | 0 | 100;

function resize(s: Size): void {
  console.log('Resizing to', s);
}

resize('small');
resize(100);

Mantıksal Sabit Değer Türleri

Mantıksal değerlerin bile sabit değer türleri vardır: true ve false, değer olmanın yanı sıra birer türdür. Tam boolean türü aslında yalnızca true | false birleşiminden oluşur.

type AlwaysOn = true;

let enabled: AlwaysOn = true;
console.log('Enabled:', enabled);
// enabled = false; // Error: false not assignable to true

Sabit Değerler Belgelendirmeyi İyileştirir

Bir sabit değer birleşimi aynı zamanda belgelendirme görevi görür. type Status = 'idle' | 'loading' | 'done' ifadesini okuyan herkes tüm olası durumları hemen anlar; tahmine veya kodun her yerine dağılmış sihirli metinlere gerek kalmaz.

type Status = 'idle' | 'loading' | 'done';

function render(s: Status): string {
  return 'State is: ' + s;
}

console.log(render('loading'));

Sabit Değerleri Diğer Türlerle Birleştirme

Sabit değer türlerini bir birleşimde daha genel türlerle birleştirebilirsiniz. Yaygın bir örnek olan 'auto' | number, özel 'auto' anahtar sözcüğü veya herhangi bir sayı anlamına gelir.

type Width = 'auto' | number;

function setWidth(w: Width): void {
  console.log('Width:', w);
}

setWidth('auto');
setWidth(320);

Adlandırılmış Sabitler Olarak Sabit Değerler

Sabit değer türleri, adlandırılmış sabitlerle birlikte son derece kullanışlıdır. Türü bir kez tanımlayın, her yerde yeniden kullanın ve güvenle yeniden düzenleyin. Derleyici, her kullanımdaki tutarlılığı korur.

type Theme = 'light' | 'dark';

const DEFAULT_THEME: Theme = 'dark';

function applyTheme(t: Theme): void {
  console.log('Applying', t, 'theme');
}

applyTheme(DEFAULT_THEME);

Hızlı Kontrol

Sabit değer türleri konusundaki anlayışınızı sınayın.

Özet: Sabit Değer Türleri

Şunları öğrendiniz:

  • Sabit değer türleri, 'north' veya 6 gibi tek bir kesin değeri temsil eder.
  • Sabit değerleri | ile birleştirmek, izin verilen değerlerden oluşan sonlu bir birleşim oluşturur.
  • Metinler, sayılar ve mantıksal değerlerle çalışırlar; ayrıca 'auto' | number gibi daha genel türlerle birleştirilebilirler.
  • İşlev parametresi olarak kullanıldıklarında otomatik tamamlama sağlar ve geçersiz girdileri derleme zamanında reddederler.

Sırada, TypeScript'in sabit değer türleriyle genişletilmiş türler arasında nasıl karar verdiğini inceleyeceğiz.

type Direction = 'north' | 'south' | 'east' | 'west';
type Dice = 1 | 2 | 3 | 4 | 5 | 6;

function describe(d: Direction, n: Dice): string {
  return 'Go ' + d + ' ' + n + ' steps';
}

console.log(describe('north', 3));

Sıkça Sorulan Sorular

“Dize ve Sayısal Değişmez Türleri” dersi ücretsiz mi?

Evet — “Dize ve Sayısal Değişmez Türleri” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve TypeScript Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. TypeScript Academy kursu toplamda 4 dersten oluşur.

“Dize ve Sayısal Değişmez Türleri” dersinde ne öğreneceğim?

Değerleri değişmez türlerle tam olarak belirlenmiş dizeler ve sayılarla sınırlandırın. TypeScript Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

TypeScript Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te TypeScript Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.

“Dize ve Sayısal Değişmez Türleri” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu TypeScript Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her TypeScript Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Dize ve Sayısal Değişmez Türleri
  2. Doğru/Yanlış Değişmezleri ve Değişmez Çıkarımı
  3. as const ile const Bildirimleri
  4. Değişmezleri Birleşimlerde Birleştirme
← TypeScript Academy Sayfasına Dön