CodeBlanks Logo Icon CodeBlanks

JS interop

dart:js_interop ile JavaScript interop öğrenirsin.

dart:js_interop

dart:js_interop, Dart ile JavaScript arasında tip güvenli köprü kuran kütüphanedir. Dart 3 ile gelen modern JS birlikte çalışma (interop) yoludur. @JS() ek açıklaması (annotation) ve external anahtarı ile JS fonksiyonlarını bildirirsin.

Örnek: @JS() external void alert(JSString msg);. Bu, tarayıcının alert fonksiyonunu Dart'ta çağrılabilir yapar. Eski dart:js ve package:js API'lerinin yerini alırr; dart2wasm ile uyumlu çalışır.

JS fonksiyonu çağırma

Bir JS fonksiyonunu Dart'tan çağırmak için önce external bildirim yaparsın: @JS() external void consoleLog(JSString msg);. Bu, tarayıcının console.log benzeri bir fonksiyonunu Dart'ta çağrılabilir yapar.

Çağırma: consoleLog('Merhaba'.toJS);. Burada .toJS Dart String'ini JS String'ine çevirir. Dönüşte .toDart kullanırsın. Bu çeviriler dart:js_interop'un tip güvenli köprüsünü oluşturur.

Uygulama dart:js_interop bilgisini yazdır

import 'dart:js_interop'; ekle. @JS() ek açıklaması ile external void consoleLog(JSString msg); bildirimi ekle. main içinde print('dart:js_interop: JS köprüsü') ve print('Açıklama: @JS()') çağrılarını ekle.

Başlangıç kodu

main.dart
// dart:js_interop paketini içe aktar
// @ JS() external consoleLog bildirimi ekle

void main() {
  // dart:js_interop bilgisini yazdır
}

Örnek çözüm

main.dart
import 'dart:js_interop';

@JS()
external void consoleLog(JSString msg);

void main() {
  print('dart:js_interop: JS köprüsü');
  print('Açıklama: @ JS()');
}

Beklenen çıktı

dart:js_interop: JS köprüsü
Açıklama: @ JS()

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 dart:js_interop ne sağlar?

  • Dosya girdi/çıktısı
  • Tarayıcı çerezleri
  • Ağ isteği
  • JS ile tip güvenli köprü Doğru cevap

Açıklama: dart:js_interop Dart ile JS arasında tip güvenli köprü kurar.

2 dart:js_interop parçalarını eşleştir

Kavram Anlamı
dart:js_interop JS köprüsü
@JS() Ek açıklama
external Harici bildirim
toJS Dart → JS

3 toJS çevirisi

Soru
'Merhaba'.____;
Cevap
'Merhaba'.toJS;

Açıklama: .toJS Dart String'ini JS String'ine çevirir.

İleri seviye bölümündeki tüm dersler