JS'de // @ts-check; türleri almak için JSDoc
// @ts-check ve JSDoc ile .js dosyalarında tür denetimini etkinleştirin; genel kalıplar için @param/@returns, @type/@typedef ve @template ekleyin; aşamalı geçiş için tsconfig'i yapılandırın.
JS'de // @ts-check; türleri almak için JSDoc, CoddyKit'te ücretsiz bir TypeScript Academy dersidir. Bu, 1 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 1 dersten oluşur.
Giriş
Amaç: TypeScript'in avantajlarından .js dosyalarının içinde yararlanmaktır. // @ts-check özelliğini etkinleştirecek, JSDoc türleri ekleyecek ve aşamalı geçiş için tsconfig yapılandıracaksınız.
- Dosya başına ve proje genelinde denetim
- @param, @returns, @type, @typedef
- Genel tür benzeri yardımcılar için @template
Denetimi etkinleştirme
.js dosyasının en üstüne // @ts-check ekleyin. İşlevi belgelemek ve türünü belirtmek için @param/@returns kullanın.
// calculator.js
// @ts-check
/**
* Adds two numbers.
* @param {number} a
* @param {number} b
* @returns {number}
*/
export function add(a, b) {
return a + b
}
// Usage: type errors appear if you pass non-numbers
// add("2", 3) // TS will flag this in JSTür tanımı ve tür
Yeniden kullanılabilir bir biçim tanımlamak için @typedef, değişkenlere tür açıklaması eklemek için @type kullanın. İsteğe bağlı alanlar ? ile işaretlenir.
// models.js
// @ts-check
/** @typedef {{ id: string; name: string; age?: number }} User */
/** @type {User} */
export const currentUser = { id: "u1", name: "Ada" }
/**
* Greets a user.
* @param {User} u
* @returns {string}
*/
export function greet(u) {
return `Hello, ${u.name}!`
}Şablon parametreleri
@template, JS'deki genel tür benzeri işlevler için tür parametreleri sunar. Çıkarım, çağrı noktalarında çalışır.
// helpers.js
// @ts-check
/**
* Maps items with a function, preserving types.
* @template T,U
* @param {T[]} items
* @param {(x: T) => U} f
* @returns {U[]}
*/
export function map(items, f) {
const out = []
for (const x of items) out.push(f(x))
return out
}
// Inference: T=number, U=string
// map([1,2], n => n.toFixed(2))JS için tsconfig
Proje genelinde: tüm .js dosyaları için checkJs özelliğini etkinleştirin. JS dosyalarını programa dahil etmek için allowJs ayarını yapın. Çıktıyı bir paketleyici yönetiyorsa noEmit kullanın.
// tsconfig.json
{
"compilerOptions": {
"target": "ES2020",
"module": "ESNext",
"checkJs": true,
"allowJs": true,
"strict": true,
"noEmit": true
},
"include": ["./**/*.js"],
"exclude": ["node_modules"]
}Geçiş ipuçları
Geçiş ipuçları:
// @ts-checkkullanarak kritik dosyalarla başlayın.- Paylaşılan biçimler için küçük
@typedeftanımları oluşturun. - Türler kararlı hâle geldikten sonra yoğun kullanılan yolları aşamalı olarak
.tsdosyalarına yeniden adlandırın.
ts-check kontrolü
Hızlı kontrol: Bir .js dosyasında TS denetimini nasıl etkinleştirirsiniz?
Özet
Özet: // @ts-check özelliğini etkinleştirin, @param/@returns/@typedef/@template ekleyin ve .ts dosyalarına geçmeden önce JS projeleri için tsconfig ayarlarını sıkılaştırın.
Sıkça Sorulan Sorular
“JS'de // @ts-check; türleri almak için JSDoc” dersi ücretsiz mi?
Evet — “JS'de // @ts-check; türleri almak için JSDoc” 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 1 dersten oluşur.
“JS'de // @ts-check; türleri almak için JSDoc” dersinde ne öğreneceğim?
// @ts-check ve JSDoc ile .js dosyalarında tür denetimini etkinleştirin; genel kalıplar için @param/@returns, @type/@typedef ve @template ekleyin; aşamalı geçiş için tsconfig'i yapılandı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, 1 dersinin 1. dersidir.
“JS'de // @ts-check; türleri almak için JSDoc” 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.