roadmap.az

Menyu

JavaScript & DOMDərs 3 / 25

Məlumatın tip çevrilməsi

Giriş çox vaxt mətndir

prompt mətn və ya ləğv zamanı null, confirm boolean qaytarır. alert mesaj göstərir. Təlimdə rahat olsalar da, real interfeysdə etiketli formalar daha idarə olunan seçimdir.

const raw = prompt('Qiyməti daxil et');
if (raw === null || raw.trim() === '') {
  console.log('Qiymət daxil edilmədi');
} else {
  const price = Number(raw);
  console.log(Number.isFinite(price) ? price * 2 : 'Yanlış ədəd');
}
Nümunə

Açıq və avtomatik çevrilmə

Number, String, Boolean niyyəti açıq göstərir. Number('') sıfır, rəqəm olmayan mətn isə NaN verir. Number.isNaN məhz NaN-ı yoxlayır. parseInt və parseFloat mətnin başlanğıcını oxuya bilər; tam girişin etibarlı olmasını yoxlamaq üçün təkbaşına kifayət etmirlər.

console.log(25 + '5'); // '255'
console.log(25 - '5'); // 20
console.log(Boolean('false')); // true
console.log(Boolean(''), Boolean(0)); // false false
Nümunə

Falsy dəyərlərə false, 0, -0, 0n, boş sətir, null, undefined və NaN daxildir. Boş massiv və boş obyekt truthy-dir. Əvvəl ifadənin nəticəsini təxmin et, sonra konsolda səbəbi ilə yoxla.

Əlavə qeydlər və mənbələr

Brauzer dialoqlarından gələn məlumatın tipini yoxla. Number, String və Boolean ilə açıq çevirmə et; avtomatik çevirmənin + və digər operatorlarda fərqli nəticə verdiyini müşahidə et.

Niyə vacibdir?

JavaScript istifadəçi hərəkətinə cavab verən və məlumatı emal edən səhifələr yaratmağa imkan verir.

Əvvəlki biliklər

Bu mövzuda

  • alert, prompt və confirm
  • Number, String və Boolean
  • NaN və avtomatik tip çevrilməsi

Mövzuya baxış

Mənbələr

Məşqin idarəetməsi
Addım 1 / 3

Etibarlı ədəd daxil et

Rəqəm olmayan giriş NaN verir. Girişi 42 mətni ilə əvəz et.

Hədəf: Girişə 42 yaz.

Canlı nəticə

Giriş"salam"
NəticəNaN
Mənbə kodu
Number("salam")

Özün sına

İki ədəd istəyən proqram yaz. Ləğv edilmiş dialoq, boş giriş və rəqəm olmayan mətn üçün ayrıca davranış qur; yalnız etibarlı ədədləri topla.

Nəticəni necə yoxlayım?

Boş, etibarsız və ləğv edilmiş giriş ayrılır; yalnız etibarlı ədədlər hesablamaya daxil olur.

Gözlənilən nəticə

  • 2 və 3 daxil ediləndə 5 görünür.
  • Cancel → Ləğv edildi; yalnız boşluq → Boş giriş; abc → Ədəd daxil et.
Nümunə həllə bax

Əvvəl özün sına, sonra müqayisə et. Bu, mümkün həllərdən biridir.

Ləğv edilmiş dialoq null, boş mətn isə ayrıca haldır. Number çevirməsindən sonra sonlu ədəd yoxlanılır.

main.js

function readNumber(message) {
  const input = prompt(message);
  if (input === null) return { error: 'Ləğv edildi' };
  if (input.trim() === '') return { error: 'Boş giriş' };
  const value = Number(input);
  return Number.isFinite(value) ? { value } : { error: 'Ədəd daxil et' };
}
const first = readNumber('Birinci ədəd');
if (first.error) console.log(first.error);
else {
  const second = readNumber('İkinci ədəd');
  console.log(second.error ?? first.value + second.value);
}

Praktikanı bitirdin?Özün qiymətləndirirsən. İrəliləyiş bu brauzerdə saxlanılır.