1.1 JavaScript Nedir?

1.1 JavaScript Nedir?

Emilgasarayev.com veb saytına xoş gəlmisiniz!  Frontend proqramlaşdırma öyrənmək istəyən, lakin xarici dil problemi olan şəxslərə JavaScript proqramlaşdırma dilini sıfırdan, tez və effektiv şəkildə öyrənməyə kömək etmək məqsədilə www.javascripttutorial.net saytını Azərbaycan dilinə tərcümə etmək qərarına gəldim.

Hər gün bir səhifəni tərcümə edib burada paylaşacağam. Hər səhifənin sonunda frontend proqramlaşdırmaya aid 3 müsahibə sualı da əlavə ediləcək ki, həm biliyinizi yoxlayasınız, həm də iş müsahibələrinə hazırlaşasınız.

Bu layihə həm şəxsi öyrənmə yolumun bir hissəsidir, həm də mənim kimi öyrənmək istəyənlərə faydalı olacağı ümidi ilə həyata keçirirəm. Hər birimizə bu yolda uğurlar arzulayıram!

JavaScript Tutorialın da dediyi kimi:
Əgər aşağıdakı xüsusiyyətlərin birində özünüzü görürsünüzsə:

  1. JavaScript öyrənməyə haradan başlamaq lazım olduğunu bilmirsiniz.
  2. JavaScript kodunu sadəcə kopyalayıb yapışdırmaqdan yorulmusunuz və onun necə işlədiyini əslində başa düşmürsünüz.
  3. JavaScript-dən necə maksimum istifadə edəcəyinizi bilmədiyiniz üçün saytlarınıza və veb tətbiqlərinizə daha zəngin və cəlbedici xüsusiyyətlər əlavə etməkdə çətinlik çəkirsiniz.

JavaScriptTutorial.net ilə birlikdə emilgasarayev.com başlamaq üçün yaxşı bir yerdir.

JavaScript nədir ?

JavaScript, əvvəlcə veb səhifələrin elementləri ilə qarşılıqlı əlaqə yaratmaq üçün hazırlanmış bir proqramlaşdırma dilidir. Veb brauzerlərdə JavaScript üç əsas hissədən ibarətdir:

  1. ECMAScript əsas funksionallığı təmin edir.
  2. Document Object Model (DOM) veb səhifələrdəki elementlərlə qarşılıqlı əlaqə üçün interfeyslər təqdim edir.
  3. Browser Object Model (BOM) veb brauzerlə qarşılıqlı əlaqə üçün brauzer API-sini təmin edir.

JavaScript sizə veb sayt səhifələrinə interaktivlik əlavə etməyə imkan verir. Adətən, siz JavaScript-i HTML və CSS ilə birlikdə istifadə edirsiniz ki, veb səhifənin funksionallığını artırasınız — məsələn, formaların yoxlanılması, interaktiv xəritələrin yaradılması və animasiyalı qrafiklərin göstərilməsi kimi.

Bir veb səhifə yükləndikdə, yəni HTML və CSS yükləndikdən sonra, brauzerdəki JavaScript engine JavaScript kodunu icra edir. Daha sonra bu kod HTML və CSS-i dəyişdirərək istifadəçi interfeysini dinamik şəkildə yeniləyir.

JavaScript engine — veb brauzerlərdə JavaScript kodunu şərh edən və icra edən komponentdir. Bu engine kodu təhlil etmək üçün parser, onu maşın koduna çevirmək üçün compiler, və kompilyasiya olunmuş kodu işlətmək üçün interpreter-dən ibarətdir.

Ən tanınmış JavaScript engine-lərinə V8 (Chrome-da), SpiderMonkey (Firefox-da) və JavaScriptCore (Safari-də) daxildir.

Əvvəllər JavaScript engine-ləri yalnız interpreter kimi həyata keçirilirdi. Lakin müasir JavaScript engine-ləri adətən just-in-time (JIT) compiler kimi tətbiq olunur və performansı artırmaq üçün JavaScript kodunu bytecode-a çevirirlər.

Client-side vs. Server-side JavaScript

JavaScript veb səhifələrdə istifadə edildikdə, o, veb brauzerlərdə icra olunur və client-side (müştəri tərəfli) dil kimi fəaliyyət göstərir.

JavaScript həm veb brauzerlərdə, həm də serverlərdə işləyə bilər. JavaScript-in server-side (server tərəfli) istifadə olunduğu məşhur mühitlərdən biri Node.js-dir. Client-side JavaScript-dən fərqli olaraq, server-side JavaScript serverdə icra olunur və sizə verilənlər bazasına çıxışfayl sistemləri ilə işləmək və s. kimi imkanlar verir.

JavaScript Tarixi

1995-ci ildə JavaScriptNetscape şirkətində işləyən Brendan Eich tərəfindən yaradıldı. Əvvəlcə Mocha adlandırılmışdı, daha sonra adı LiveScript olaraq dəyişdirildi.

Netscape, Java proqramlaşdırma dilinin populyarlığından faydalanmaq məqsədilə LiveScript adını JavaScript ilə əvəz etməyə qərar verdi. Bu qərar Netscape Navigator 2 veb brauzerinin buraxılmasından az əvvəl verildi və nəticədə JavaScript versiya 1.0 təqdim olundu.

Netscape daha sonra JavaScript 1.1 versiyasını Netscape Navigator 3 ilə təqdim etdi. Bu vaxt Microsoft, Netscape-ə rəqib olaraq Internet Explorer 3 (IE 3) brauzerini təqdim etdi. Lakin IE özünəməxsus JavaScript versiyasını — JScript adlanan implementasiyanı təqdim etdi. Microsoft bu adda dəyişiklik edərək, Netscape ilə ola biləcək lisenziya mübahisələrindən yayınmaq istəyirdi.

Beləliklə, bazarda iki fərqli JavaScript versiyası mövcud idi:

  1. Netscape Navigator-da istifadə olunan JavaScript
  2. Internet Explorer-də istifadə olunan JScript

Bu dövrdə JavaScript-in sintaksisi və imkanları standartlaşdırılmamışdı. Bu səbəbdən proqramçılar dilin standartlaşdırılması tələbi ilə çıxış etdilər.

1997-ci ildə JavaScript 1.1European Computer Manufacturers Association (ECMA)-ya təklif olaraq təqdim olundu. Technical Committee #39 (TC39) dilin standartlaşdırılması vəzifəsini aldı. Məqsəd — JavaScript-i ümumi təyinatlıplatformadan asılı olmayan və istehsalçıdan asılı olmayan bir skript dili halına gətirmək idi.

TC39 komitəsi ECMA-262 standartını hazırladı və bu, ECMAScript adlı yeni skript dilinin rəsmi təməlini qoydu (tez-tez "Ek-ma-script" kimi tələffüz olunur).

Daha sonra bu standart International Organization for Standardization və International Electrotechnical Commission (ISO/IEC) tərəfindən qəbul edildi — ISO/IEC-16262 adı altında.

Nəticə

Emilgasarayev.com-un əsas məqsədi — frontend proqramlaşdırma sahəsini öyrənmək istəyən, lakin dil maneəsi ilə qarşılaşan insanlara JavaScript-i Azərbaycan dilində daha asan və anlaşıqlı şəkildə təqdim etməklə bu öyrənmə yolunda az da olsa dəstək olmaqdır. Bu təşəbbüs şəxsi öyrənmə prosesimin bir hissəsidir və eyni zamanda mənim kimi öyrənmək istəyənlərə faydalı olacağı ümidi ilə yaradılıb. JavaScriptTutorial.net saytının materiallarını Azərbaycan dilinə tərcümə etməklə həm öz biliyimi möhkəmləndirir, həm də bu sahəyə yeni başlayanlara kömək etmiş oluram.

Node: https://www.javascripttutorial.net/what-is-javascript/

Müsahibə Sualları

1. HTML ilə div və span elementləri arasında nə fərq var?

div block-level elementdir, yəni özündən sonra gələn elementləri aşağı sətrə keçirir. span isə inline-level elementdir, yəni eyni sətirdə digər elementlərlə yanaşı qala bilər. Struktur yaratmaq üçün div, mətnin bir hissəsini formatlamaq üçün isə span istifadə olunur.

2. CSS-də position: absolute və position: relative arasındakı fərq nədir?

position: relative elementi öz normal mövqeyinə nisbətən yerləşdirir, yəni həmin elementin olduğu yer əsas götürülür. position: absolute isə ən yaxın position: relative, absolute, fixed və ya sticky təyin olunmuş parent elementi əsas götürərək yerləşdirilir. Belə parent element yoxdursa, body elementinə görə mövqe alır.

3. JavaScript-də == və === operatorları arasında fərq nədir?

== tip çevrilməsi ilə müqayisə edir (loose equality), yəni fərqli tipləri eyni görməyə çalışır (məsələn, 5 == '5' doğrudur). === isə həm dəyəri, həm də tipi müqayisə edir (strict equality), yəni 5 === '5' yanlışdır, çünki biri number, digəri string-dir.