Kompüterlər, Proqramlaşdırma
JavaScript: typeof - ehtiyac və ya yeni funksiyalar
Əvvəllər müəyyən bir növ məlumatlar vardı və nəticə əldə etmək üçün onları maraqlandıran bir hadisə idi. Təsviri sahəsində "atipik fikirlər" nin hökmranlığı gözlənilmədən, ancaq təbii olaraq gəldi. Bir dəyişənin ilkin bəyanatı məcburi olmayıb və ümumiyyətlə, onun tipinin göstərilməsi, ən azı iştirak etdiyi əməliyyatdan əvvəl, bütün mənasını itirmişdir.
Proqramçı əllərini açdı: başında bir şeyi bəyan etmək lazım deyil. Çoğunlukla, istifadə zamanı yalnız müəyyən olacaq, nə etməli, nə ediləcək və necə. Cinslərə gəldikdə, onlar özləri tərəfindən "qiymətə çevrildi", yəni bir şeyə bağlı olan məlumatlar oldu!
Hələ oradaydı, yoxsa nə varsa
"Aaa" dəyişəninin çox sadə təsviri və onun emal üçün mövcud alqoritmi:
aaa ; Var aaa ;
( aaa ) { Əgər ( aaa ) {
= 'I am!' Res = 'Mənəm!' ; // mən AM!
{ } Else {
= 'me no...' ; Res = 'mənə yox ...' ; // mənim yoxdur
}
Aşkar bir nəticə verəcəkdir: "Mən deyiləm". Burada JavaScript funksiyasının dəyəri typeof = undefined. Yalnız dəyişən - "heç bir şey" demək deyil. Əlbəttə, aaa = 1 olduğumuzda: "Mən AM" deyirsiniz, amma aaa = 0 olarsa, ilk halda belə olacaq: "Mən deyiləm ...". Gözəl bir məntiq, başqa bir riyaziyyatçı və ortaq bir vətəndaş, hətta sıfır məna gerçəkdən tamamilə fərqli bir məna daşımadığını düşünə bilmədi. Yalnız müasir (atipik) proqramlaşdırma bu qədər cəsarətli fikirlərə malikdir!
JavaScript növü, daha ağıllı ifadə kimi (aaa) {... x ...} else {... y ...}, əla istehlak keyfiyyətlərinə malikdir və çox istifadəçi dostudur.
Kiril və Latın xüsusiyyətləri haqqında
Kibernetika bəzi sahələrdə tanınmadıqda, digər sahələrdə isə kompüter bilikləri təpənin üstünə çıxdıqda professional proqramçı hər zaman Rusiyaya İngilis dili simvollarını seçir, səmimi şəkildə proqramlaşdırma inkişaf mərhələsi sayəsində. Proqramlaşdırma dilləri İngilis əlifbasının 26 məktubunun sintaksisinə və digər ümumi qəbul edilmiş simvollar qrupuna əsasən götürülməyə və inkişaf etməyə başladı.
Ən sadə və ən təbii bir maşın kodu idi, gözəl, mükəmməl, lakin hər bir mimariye özgü idi və yüksək səviyyəli dillərdə arxitekturalar arasında taşınabilirlik fikri dərhal aktuallaşdı. Bu əsasən cari ani ziddiyyət təşkil edir: analog JavaScript tipi = undefined | String | Sayı | Boolean | Obyekt | Funksiya sadəcə olmadı. Bütün dillər ciddi şəkildə formal idi, ciddi sintaksis idi və qeyri-müəyyənliyə yol vermədi.
Növləri, dəyişənlər və onların istifadəsi
An çox vacibdir. Dəyişənlərin təriflənməsi və təsviri proqramın ən mühüm komponentidir, proqramçı işəgötürən alqoritmi yaza bilməz, o, faktiki məlumatların müxtəlifliyi dəyişənlərin, dizilərin, obyektlərin və funksiyaların ciddi bir formal görünüşünə çevrilməyincə.
JavaScript bu onilliklər ərzində yığılmış bütün funksional gücünü daşıyır, bütün dizaynları sintaksis haqqında müasir fikirləri və ona semantiklərin qoyulması məqsədəuyğun qaydalarını əks etdirir.
Sual, bunun nə zaman ediləcəyi, növü mətni, JavaScript typeof funksiyasını dəqiq müəyyən etmək lazımdır. Əslində tip mətn variantlarını bir az təmizləyin: bir simvol, simli və bir sıra. Lakin, obyekt mətnin rolunu, hətta bütün elementlərini bir mətnə, yəni bir xəttdə birləşdirən array.join () quruluşu ilə bir array oynaya bilər.
Banal ifadəsi: Ətrafdakı hər hansı bir növü mətndir və JavaScript typeof funksiyası lazımi vaxtda lazımi tərifi yerinə yetirməlidir. Bu doğrudur, amma praktikada hər şey fərqlidir. JavaScript typeof obyekti hər üç halda eyni dəyəri qaytaracaqdır:
aaa = {}; Var aaa = {};
= typeof ( aaa ); Res = typeof ( aaa );
+= '/' + typeof window . Res + = '/' + typeof pəncərəsi . ; Sənəd ;
+= '/' + typeof ( document . forms [ 0 ]); Res + = '/' + typeof ( sənəd . Formlar [ 0 ]);
Nəticə: obyekt / obyekt / obyekt
Bu funksiyadan istifadə növü aaa format formatında və AAA formatında ola bilər - bu vacib deyil, lakin bütün hallarda cavab verilir, lakin heç bir şey demək deyil!
Belirsizlik dəqiqliklə keçir
Proqramlaşdırma xüsusi bir dinamika ilə xarakterizə olunur: hərəkətin miqyası daim genişləndiyini sürətlə irəli sürür. Hesab aylar, həftələr və ya günlər, bəzən isə saatlar gedir. Xüsusi problemlərdə, həll alqoritminin formalaşması dinamikası çox sürətli və proqramçıın iş vəziyyətindən çıxdığının bir gün, bir həftə və daha uzun bir müddət üçün qərarını ləğv edə bilməsi üçün davamlılığı tələb edir.
JavaScript tipinin təbii həlli və bu sözdizimdə bitişik müasir dillərdə olanlardan bir qədər fərqlənən obyekt yönümlü proqramlaşdırma təcrübəsi, ağırlıq mərkəzini obyektə köçürür. Çox xarakterik an: Dil sintaksik normaların bir hissəsi deyil, semantik olan bir tikinti olur.
Sadə data növləri onların növünü müəyyənləşdirməyə ehtiyac yoxdur, əksinə JavaScript tipinin istifadəsi kifayətdir. Lazım gələrsə, işləmə müddəti özünəməxsus dəyişikliklərə diqqət yetirir, lakin JavaScript tipli obyektlərə görə ən uyğun cavab verir: bu, bir obyektdir və onun növü problemi onun diqqətidir! Proqramlaşdırmanın klassik görünüşü üçün belə bir məntiq qəbul etmək çətindir, lakin bu, doğru şeylərin əsl mövqeyidir.
Bir obyektə qulluq etmək növü müəyyən etmək, xüsusiyyətlərinizi ifadə etmək və metodlarınızı yerinə yetirməkdir. Proqramlaşdırma sintaksisini cilalanmış və hər an anlayışla, sözügedən sintaksisdən proqramçı tərəfindən yaranan semantikaya çəkilmək mərkəzindən köçürür: vəzifənin həllini yerinə yetirən obyektlərin sistemi.
Similar articles
Trending Now