Nedir? JavaSenaryo? Merhaba Dünya Örneğiyle Giriş

⚡ Akıllı Özet

JavaScript, web sayfalarını etkileşimli hale getiren programlama dilidir. Bu giriş, Script'in ne olduğunu açıklamaktadır. JavaScript, nereden geldiği, tarayıcıların ve Node.js'nin onu nasıl çalıştırdığı ve ilk "Merhaba Dünya" betiğini nasıl yazıp çalıştıracağınız konularını kapsar.

  • 🌐 İstemci ve sunucu: JavaBu betik başlangıçta tarayıcı içinde çalışıyordu ancak şimdi Node.js, Deno ve Bun aracılığıyla sunucularda da çalışıyor.
  • 🕰️ Menşei: Brendan Eich, 1995 yılında Netscape'te bu dili geliştirdi; önce Mocha, sonra LiveScript olarak adlandırıldı. JavaSenaryo.
  • 📜 Standart: ECMAScript resmi spesifikasyondur, bu nedenle her modern tarayıcı aynı temel dil kuralları üzerinde hemfikirdir.
  • ️ Kurmak: İlk betiğinizi yazmak ve test etmek için basit bir metin editörü ve herhangi bir modern tarayıcı yeterlidir.
  • 🖥️ Önce konsol: F12 tuşuna basın, Konsol sekmesini açın ve tek satırlık komutları çalıştırın. JavaDosya oluşturmadan komut dosyası çalıştırır.
  • ☕ Değil Java: Java hem de JavaScript dilleri dört harf dışında neredeyse hiçbir şeyi paylaşmaz; tip sistemleri ve çalışma ortamları da buna dahildir.
  • ⚡ Yerleşim: Daha temiz ve önbelleğe alınabilir sayfalar için komut dosyalarını `<script>` etiketleri içine yerleştirin veya harici bir `.js` dosyasına bağlantı verin.

Nedir? JavaSenaryo

Nedir? JavaSenaryo?

JavaScript, web sayfalarına davranış kazandıran üst düzey bir programlama dilidir. Web'in üç temel teknolojisinden biridir: HTML yapıyı sağlar, CSS görünümü sağlar ve JavaKomut dosyası etkileşimi sağlar. Bir arama kutusu siz yazarken öneriler gösterdiğinde, bir fotoğraf karuseli kaydığında veya bir kayıt formu eksik bir alan hakkında sizi uyardığında, JavaBu işlem arka planda komut dosyası tarafından yapılıyor.

Aşağıdaki diyagram, bir komut dosyasının sıradan bir web sayfasının işaretleme koduyla birlikte nasıl yer aldığını göstermektedir.

Giriş JavaSenaryo

Hayatının büyük bölümünde JavaScript, yalnızca tarayıcı içinde çalıştığı için istemci tarafı bir betik dili olarak tanımlanmıştı. Bu tanım artık eksik. 2009'da Node.js'nin ortaya çıkmasından bu yana, aynı dil web sunucularına, komut satırı yardımcı programlarına, masaüstü uygulamalarına ve mobil uygulamalara da güç veriyor. Bugün daha doğru bir tanım şudur: JavaScript, tarayıcılarda alışılmadık derecede güçlü bir varlığa sahip, genel amaçlı bir dildir.

Dili tanımlayan özellikler şunlardır:

  • Dinamik olarak tiplendirilmiş: Bir değişken şu anda bir sayı, bir an sonra ise bir metin dizesi tutabilir; bu nedenle program çalışırken türler kontrol edilir.
  • Yorumlanmış ve tam zamanında derlenmiş: Chrome'daki V8 ve Node.js gibi derleme motorları, sık çalıştırılan kodları hız için makine koduna derler.
  • Çoklu paradigma: Emir kipi, işlevsel ve nesne yönelimli stillerin tümü desteklenmektedir.
  • Olay odaklı: Kod, yukarıdan aşağıya doğru çalışıp durmak yerine, tıklamalara, tuş vuruşlarına, zamanlayıcılara ve ağ yanıtlarına tepki verir.ping.
  • Olay döngüsüne sahip tek iş parçacıklı: Ağ çağrısı gibi yavaş işler, sayfanın dondurulması yerine sıraya alınır.

💡 İpucu: JavaScript ve ECMAScript rakip diller değildir. ECMAScript yazılı bir spesifikasyondur ve JavaScript, tarayıcıların ve Node.js'nin fiilen sunduğu, bu spesifikasyonun uygulamasıdır.

Tarihi JavaSenaryo

Brendan Eich yarattı Java1995 yılında Netscape Communications'da yazılan bu kod, yaklaşık on gün içinde ilk çalışan prototipi üretti. Proje şirket içinde şu isimle anılıyordu: koyun derisiNetscape Navigator 2.0 beta sürümünde yer alıyordu. Canlı Komut Dosyası Eylül 1995'te yeniden adlandırıldı. JavaSenaryo Aralık 1995'te Netscape ile Sun Microsystems arasında yapılan bir pazarlama anlaşmasının parçası olarak, Sun Microsystems'in sahibi olduğu şirket Java zamanında.

Javascript Tarihçe

Bu yeniden adlandırma, birçok acemi kullanıcının hala böyle varsaymasının tek nedenidir. JavaScript, hafifletilmiş bir sürümdür. Javaİki dil tasarım, sahiplik ve çalışma zamanı açısından birbirinden bağımsızdır. Netscape, dili 1996 yılında ECMA International'a sunmuş ve ECMA-262 standardının ilk sürümü Haziran 1997'de yayınlanmıştır. Aşağıdaki tabloda, eski kodları okurken en önemli kilometre taşları listelenmiştir.

Yıl Dönüm noktası Neden önemli
1995 Mocha, ardından LiveScript, ardından JavaSenaryo Bu dil, Netscape'te Brendan Eich tarafından geliştirilmiştir.
1997 ECMA-262 birinci baskı Dil, tedarikçiden bağımsız bir yazılı standart kazanıyor.
2009 ES5 ve Node.js'nin ilk sürümü Sıkı mod geliyor ve JavaKomut dosyası tarayıcıdan dışarı sızıyor.
2015 ES6 (ECMAScript 2015) let, const, ok fonksiyonları, sınıflar, modüller ve promise'ler eklendi.
2016 ileri Yıllık ECMAScript sürümleri Daha küçük içerikler, nadir büyük sürümler yerine her Haziran ayında piyasaya sürülecektir.

Yıllık sürüm döngüsü nedeniyle, 2015'ten önce yazılan kodlar modern kodlardan belirgin şekilde farklı görünmektedir. Daha eski eğitim materyalleri şunları kullanır: var her yerde, mevcut kod ise şunu tercih ediyor: let hem de const ne zaman değişkenleri tanımlamak JavaSenaryo.

Nedir? JavaBu komut dosyası ne için kullanıldı?

JavaScript dili artık sadece küçük sayfa hileleriyle sınırlı değil. Aynı sözdizimi artık dört farklı yerde karşımıza çıkıyor; bu nedenle geliştirici anketlerinde sürekli olarak en yaygın kullanılan dillerden biri olarak sıralanıyor.

Semt Ne JavaSenaryo orada çalışıyor. Tipik araçlar
Tarayıcı ön ucu Tıklamaları işler, sayfayı yeniden yüklemeden günceller, formları doğrular ve grafikler çizer. React, Vue, Angular, Svelte
Sunucu tarafı HTTP isteklerine hizmet eder, veritabanlarıyla iletişim kurar ve REST veya GraphQL API'leri oluşturur. Node.js, Deno, Bun, Express
Mobil uygulamalar kurar Android ve tek bir ortak kod tabanından iOS uygulamaları. Yerli Tepki, Ionic, Kondansatör
Masaüstü uygulamaları Dosya sistemine erişim imkanı sağlayan yerel bir pencere içinde web arayüzünü sarmalar. Elektron, Tauri
Alet ve otomasyon Varlık paketlerini oluşturur, test paketlerini çalıştırır ve uçtan uca test için tarayıcıları yönetir. Vite, webpack, Jest, Oyun Yazarı

Oyunlar, veri görselleştirmeleri, tarayıcı uzantıları ve küçük donanım projeleri de buna dayanıyor. Yeni başlayanlar için pratik sonuç basittir: Şimdi sözdizimine harcadığınız çaba, daha sonra doğrudan sunucu çalışmalarına, mobil çalışmalara ve test otomasyonuna aktarılır. Dilin gerçek sorunlara nasıl uygulandığını görmek istiyorsanız, bir dizi örnek üzerinde çalışın. pratik JavaKomut dosyası kod örnekleri Temel bilgiler iyice oturunca.

Nasıl Çalıştırılır JavaSenaryo?

JavaKomut dosyası kendi kendine çalışmaz. Çalışması için bir sunucu ortamına ihtiyaç duyar. Bu sunucu ortamı, komut dosyasında yer alan bir dizi öğeyi içermelidir. JavaSenaryo motorChrome ve Edge, V8 sürümünü kullanıyor. Firefox SpiderMonkey kullanıyor ve Safari de kullanıyor. JavaScriptCore. Bir tarayıcı bir HTML sayfasını indirdiğinde ve bir komut dosyası bulduğunda, bu komut dosyasını motoruna iletir; motor da onu ayrıştırır, derler ve çalıştırır.

İkinci sunucu ortamı ise, aynı V8 motorunu tarayıcının dışında barındıran Node.js'dir. Bu sayede aynı dil, bir sunucuda veya terminalde çalışır. Bunun pratik avantajı şudur: JavaSenaryo şudur Her modern tarayıcı bunu destekliyor. on Windows, Linux ve macOSBu sayede, ziyaretçinin hangi tarayıcıyı kullandığı konusunda nadiren endişelenmeniz gerekir. Bu, yalnızca Internet Explorer'da çalışan VBScript'e göre gerçek bir gelişmedir. Windows ve artık Internet Explorer'ın kendisiyle birlikte kullanımdan kaldırılmıştır.

⚠️Uyarı: Browser JavaKomut dosyası ve Node.js JavaKomut dosyaları temel dili paylaşır ancak çevreleyen nesneleri paylaşmaz. document hem de window yalnızca tarayıcıda mevcuttur ve require Dosya sistemi modülleri yalnızca Node.js'de mevcuttur. Kontrol etmeden iki ortam arasında kod kopyalamak referans hatası verecektir.

İhtiyacınız Olan Araçlar

Kod yazmak için bir metin düzenleyiciye, sonucu görüntülemek için ise bir tarayıcıya ihtiyacınız var. Notepad++, Visual Studio Code, Sublime TextAyrıca, rahat ettiğiniz herhangi bir başka editör de işinizi görecektir; ancak sözdizimi vurgulama ve parantez eşleştirme özelliğine sahip bir editör, hata ayıklama sürecinde size büyük ölçüde kolaylık sağlayacaktır. Herhangi bir güncel tarayıcı kullanılabilir: Google Chrome, Firefox, Microsoft EdgeYa da Safari. Bu iki öğenin dışında başka bir şey satın almanıza veya yüklemenize gerek yok.

Basit JavaKomut dosyası programı

Tutarsan JavaHTML belgesinin içine yerleştirilen kod, açılış etiketi (<script>) ile `<script>` etiketi arasında kalmalıdır. <script> etiket ve kapanış </script> Bu etiket, tarayıcının kodunuzu çevreleyen işaretlemeden ayırt etmesini sağlar. Daha eski sayfalar da bu etiketi kullanır. type özellik, şu şekilde yazılır: <script type="text/javascript">Bu özellik, VBScript gibi rakip istemci tarafı dillerin var olduğu dönemlerde gerekliydi. Modern sayfalar bunu içermez, çünkü HTML5 bunu farklı şekilde ele alır. text/javascript Varsayılan olarak. Aşağıdaki iki sürüm işlevsel olarak aynıdır ve her ikisi de hala geçerlidir.

Merhaba Dünya Örneği

Geleneksel ilk program bir mesaj görüntüler. Aşağıdaki işaretlemeyi adlı bir dosyaya yerleştirin. hello.html ve tarayıcıda açın.

<html>
<head>
	<title>My First JavaScript code!!!</title>
	<script type="text/javascript">
		alert("Hello World!");
	</script>
</head>
<body>
</body>
</html>

Çıktı:

A browser dialog box opens containing the text:

Hello World!

Not: type="text/javascript" HTML5'te buna gerek yoktur. Aşağıdaki kod tamamen aynı şekilde çalışır.

<html>
<head>
	<title>My First JavaScript code!!!</title>
	<script>
		alert("Hello World!");
	</script>
</head>
<body>
</body>
</html>

Çıktı:

A browser dialog box opens containing the text:

Hello World!

Sayfa birkaç satırı geçince, metni ayrı bir bölüme taşımak gerekiyor. .js Dosya, işaretlemeyi okunabilir halde tutar ve tarayıcının kodu önbelleğe almasını sağlar. Farklılıklar bu karşılaştırmada ayrıntılı olarak ele alınmıştır. dahili ve harici JavaSenaryo.

İlk Komut Dosyanızı Nasıl Yazarsınız ve Çalıştırırsınız?

Uygulamanın üç pratik yolu vardır. JavaBu üç senaryoyu da yeni başlayanlar denemelidir çünkü her biri farklı bir duruma uygundur.

1. Tarayıcı konsolu. Bu en hızlı seçenektir ve hiçbir dosya gerektirmez. Herhangi bir web sayfasını açın, tuşuna basın. F12 (veya Ctrl+Shift+Ben Windows Linux'ta ise Cmd+Option+I tuş kombinasyonu kullanılır. macOS) ve konsolos Sekme tuşuna basın. Bir satır yazın, Enter tuşuna basın ve sonuç hemen görünür. Tek bir ifadeyi test etmek veya bir fonksiyonun ne döndürdüğünü kontrol etmek için ideal bir yerdir.

// Type each line into the browser console and press Enter
console.log(2 + 2);
console.log("Guru" + 99);
console.log(Math.max(4, 12, 7));
console.log(typeof "hello");

Çıktı:

4
Guru99
12
string

İkinci satıra dikkat edin. " dizesine 99 sayısını eklemekGuru" dizesini üretirGuru99” bir hata değil, çünkü JavaKomut dosyası sayıyı otomatik olarak metne dönüştürüyor. Bu davranış kullanışlıdır, ancak aynı zamanda yeni başlayanlar için klasik bir hata kaynağıdır.

2. Bir HTML dosyası. Yukarıda gösterilen örnek "Merhaba Dünya" örneğidir. Kodun sayfaya doğrudan dokunması gereken her durumda, örneğin bir form değerini okurken veya bir öğeyi değiştirirken bunu kullanın.

3. Terminalden Node.js komutunu çalıştırın. Node.js'i kurun, kodu bir dosyaya kaydedin. .js uzantıyı çalıştırın node first-script.jsHiçbir şey görüntülenmiyor, bu yüzden console.log Bu, çıktı kanalınız haline gelir. HTML içermeyen saf dil özelliklerini uygulamak istediğinizde izlemeniz gereken yol budur.

// first-script.js
const language = "JavaScript";
const createdBy = "Brendan Eich";
const releaseYear = 1995;

console.log(language + " was created by " + createdBy + " in " + releaseYear + ".");

const usedFor = ["Interactive web pages", "Server apps with Node.js", "Mobile apps"];

usedFor.forEach(function (item, index) {
  console.log(index + 1 + ". " + item);
});

Çıktı:

JavaScript was created by Brendan Eich in 1995.
1. Interactive web pages
2. Server apps with Node.js
3. Mobile apps

Bu kısa betik, sürekli karşılaşacağınız üç fikri zaten kullanıyor: sabitler şu şekilde tanımlanmıştır: const, Bir dizi Değerler listesini tutan ve kendisine iletilen bir geri çağırma fonksiyonu. forEachAynı döngüyü yeniden yazmak... for Bu ifade, ders çalıştıktan sonra faydalı bir alıştırmadır. döngüler JavaSenaryo.

JavaSenaryo vs Java

İsimler, programlama tarihinin en büyük kazasıdır ve yol açtıkları karışıklığı en başından gidermek gerekir. JavaScript, 1995 yılında tamamen pazarlama nedenleriyle LiveScript'ten Script olarak yeniden adlandırıldı. Java İnternette en çok konuşulan teknolojiydi. İki dil de farklı şirketlerde, farklı kişiler tarafından, farklı sorunlar için tasarlanmıştı.

Görünüş JavaSenaryo Java
Tarafından yaratıldı Brendan Eich, Netscape'te, 1995 James Gosling, Sun Microsystems'te, 1995
Typing Dinamik ve zayıf tipli Statik ve güçlü tipli
Çalışır Tarayıcı motorları ve Node.js MKS Java Sanal makine
Derleme Motor tarafından çalışma zamanında tam zamanında derlenir. Önceden bayt koduna derlenmiştir.
Nesne modeli Prototip tabanlı, ES6'da sınıf sözdizimi eklenmiştir. Sınıf içi eğitim baştan itibaren
Dosya uzantısı . Js .java dosyası .class dosyasına derlendi.
Genel kullanım Web arayüzleri, API'ler, araçlar Kurumsal arka uçlar, Android, büyük veri

Tek gerçek benzerlik, her ikisinin de C dilinden süslü parantez sözdizimini ödünç almasıdır. Birini öğrenmek diğerini öğretmez, ancak paylaşılan sözdizimi ikinci dili okumayı biraz daha kolaylaştırır. Eğer kesin olarakping sana hitap ediyor, TypeScript üstüne statik bir tip katmanı ekler. JavaDerleme sırasında betik düz metne dönüştürülüyor. JavaSenaryo ve farklılıklar burada açıklanmıştır. TypeScript hem de JavaSenaryo karşılaştırması.

Temeller yerine getirildikten sonra, doğal olarak atılacak sonraki adımlar şunlardır: interaktif JavaSenaryo alıştırmaları, Daha sonra değişkenler ve veri türleri, Ardından diziler hem de döngüler. Daha sonra, nesne odaklı JavaSenaryo Nesnelerin, prototiplerin ve sınıfların nasıl bir araya geldiğini açıklar ve dize biçimlendirme Bu, hemen hemen her betikte kullanacağınız metin işleme konusunu kapsar.

SSS

ECMAScript, sözdizimini ve yerleşik nesneleri tanımlayan, ECMA-262 olarak yayınlanan yazılı standarttır. JavaScript, tarayıcı üreticileri ve Node.js tarafından sunulan bu standardın çalışan uygulamasıdır. ES6 gibi sürüm adları, standardın sürümlerini ifade eder.

İkisi de. Kaynak kod düz metin olarak gönderilir ve motor tarafından okunur, ancak V8 ve SpiderMonkey gibi motorlar sık ​​çalıştırılan fonksiyonları anlık derleme ile makine koduna dönüştürür. Sonuç, derlenmiş bir dile yakın hızda yorumlanmış bir dil gibi davranır.

Genellikle karşılaşılan nedenler arasında eksik bir kapanış script etiketi, harici dosyaya giden yanlış yol, sözdizimi hatası veren bir yazım hatası veya hedeflediği öğe mevcut olmadan önce çalışan bir komut dosyası yer alır. Tam hatayı okumak için Konsol sekmesini açın.

Öğrenme aşamasındayken birkaç satırlık dahili kodlar sorun teşkil etmez. Ancak kod birden fazla sayfada tekrar kullanılmaya başlandığı anda harici bir .js dosyasına geçin, çünkü bu sayede tarayıcı kodu önbelleğe alabilir ve işaretleme okunabilir kalır.

Hızlı bir şekilde çalışan kod parçacıkları üretebilirler, ancak aynı zamanda yalnızca tarayıcıya özgü ve yalnızca Node.js'ye özgü API'leri karıştırırlar ve bazen yöntemler icat ederler. Her öneriyi çalıştırın, konsol hatalarını kendiniz okuyun ve çıktıyı bitmiş bir cevap yerine taslak olarak değerlendirin.

Bu, sohbet arayüzünü oluşturur, model yanıtlarını belirteç belirteç işler ve Node.js arka ucundan model API'lerini çağırır. TensorFlow.js ve ONNX Runtime Web gibi kütüphaneler de daha küçük modelleri doğrudan tarayıcı içinde çalıştırır.

Bu yazıyı şu şekilde özetleyin: