Please note, this is a STATIC archive of website developer.mozilla.org from November 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

Introduction

This translation is incomplete. Please help translate this article from English.

Bu bölüm JavaScript'in temel kavramlarını tanıtır.

Biliyor olmanız gerekenler

Bu rehber aşağıdakileri biliyor olduğunuzu farzeder:

  • İnternet ve World Wide Web hakkında genel anlamlar (WWW).
  • İyi derecede HTML bilgisi (HTML).
  • Biraz proglamlama bilgisi. Eğer programlamada yeniyseniz anasayfadaki JavaScript denemelerinden birini deneyin.

JavaScript hakkında bilgiyi nereden bulurum

MozDevNetwork'te JavaScript dökümantasyonu şunları içerir:

  • Webi öğrenmek  yeni başlayanlar için bilgi sağlar ve programlama ve internetin basit kavramlarını tanıtır.
  • JavaScript Rehberi (bu rehber) JavaScript dili ve onun nesneleri hakkında genel bakış sağlar.
  • JavaScript Reference detaylı referansları içerir.

JavaScript'te yeniyseniz, öğrenme alanı ve JavaScript Guide ile başlayın. JS temellerini sağlam kavradığınızda, objects(nesneler) ve statements detayları için JavaScript Reference 'ı kullanabilirsiniz.

JavaScript nedir?

JS, çok platformlu ve nesne yönelimli bir script dilidir. Küçük ve hafif bir dildir. Bir ana bilgisayar ortamında (mesela, bir web tarayıcısı), JavaScript, kendi ortamındaki nesnelerine, programatik kontrol sağlamak için bağlanabilir.

Javascript Array, Date, and Math gibi nesneleri içeren standart nesne kütüphanesini ve operatörler, kontrol yapıları ve ifadeler gibi çekirdek dil setlerini içerir. JavaScript çekirdeği, ilave nesneler ile birlikte çeşitli amaçlar için genişletilebilir.Örneğin:

  • İstemci-taraflı JavaScript, çekirdek dili yeni nesneler üretmek suretiyle genişleterek tarayıcının ve tarayıcının sahip olduğu Döküman Nesne Modeli'nin (DOM) kontrol edilebilmesini sağlar. Örnek olarak,  istemci-taraflı uzantılar bir uygulamanın HTML formuna yeni öğeler eklemesine ve fare tıklamaları, form girdileri, ve sayfa dolaşımı gibi kullanıcı olaylarını yanıtlamasına izin verir.
  • Sunucu-taraflı Javascript, çekirdek dili sunucuda çalışmakta olan Javascripte yönelik yeni nesneler üretmek suretiyle genişletir. Örnek olarak, sunucu-taraflı uzantılar bir uygulamanın veri tabanı ile iletişim kurmasına, bir işlemden başka bir işleme bilgi aktararak uygulamanın devamlılığını sağlamasına, veya sunucuda dosya manüplasyonları yapmasına izin verir.

JavaScript ve Java

JavaScript ve Java bazı yönleri ile benzerdir fakat temel olarak farklıdırlar.  JavaScript dili, Java'ya benzer fakat JavaScript'te sabit Java tipleri ve Java'daki güçlü tip denetimi yoktur. JS, benzerlik nedeniyle isminin LiveScript'ten JavaScript'te değiştirilmesine neden olan, çoğu Java söz dizim ifadesini, isimlendirme düzenini ve basit kontrol akışı yapılarını destekler.

Java'nın tanımlanarak oluşturulmuş sınıfları derle-çalıştır sisteminin aksine; Javascript, veri tiplerinin ufak bir kısmı olan numeric, boolean ve string veri tiplerini destekleyen çalışırken-derle sistemine sahiptir. JavaScript'te sınıf tabanlı nesne modeli yerine daha yaygın olan prototip temelli nesne modeli vardır. Prototip-tabanlı model dinamik miras  almayı destekler ki bu miras alınan verinin alan nesneler tarafından çoklanarak değiştirilebilmesini sağlar. Javascript aynı zamanda fonksiyonları da destekler ve fonskiyonlar için hiçbir özel tanımlamaya gerek duymaz. Fonskiyonlar, esnek biçimlerde çalıştırılabilen metodlar halinde bir nesneye ait "özellik" olabilir.

JavaScript, Java'ya göre oldukça serbest biçimli bir dildir.Tüm değişkenleri, sınıfları ve metodları baştan tanımlamanıza gerek yoktur. Metodların public, private, veya protected olup olmadığı ile ilgili kaygılanmanıza gerek yoktur ve arayüzleri tanımlamanıza gerek yoktur. Değişkenler, parametreler ve fonksiyon dönüş türleri üstü kapalı türler değildir.(Tipine derleyici karar verir.)

Java is a class-based programming language designed for fast execution and type safety. Type safety means, for instance, that you can't cast a Java integer into an object reference or access private memory by corrupting Java bytecodes. Java's class-based model means that programs consist exclusively of classes and their methods. Java's class inheritance and strong typing generally require tightly coupled object hierarchies. These requirements make Java programming more complex than JavaScript programming.

In contrast, JavaScript descends in spirit from a line of smaller, dynamically typed languages such as HyperTalk and dBASE. These scripting languages offer programming tools to a much wider audience because of their easier syntax, specialized built-in functionality, and minimal requirements for object creation.

JavaScript compared to Java
JavaScript Java
Object-oriented. No distinction between types of objects. Inheritance is through the prototype mechanism, and properties and methods can be added to any object dynamically. Class-based. Objects are divided into classes and instances with all inheritance through the class hierarchy. Classes and instances cannot have properties or methods added dynamically.
Variable data types are not declared (dynamic typing). Variable data types must be declared (static typing).
Cannot automatically write to hard disk. Can automatically write to hard disk.

For more information on the differences between JavaScript and Java, see the chapter Details of the object model.

JavaScript and the ECMAScript specification

JavaScript is standardized at Ecma International — the European association for standardizing information and communication systems (ECMA was formerly an acronym for the European Computer Manufacturers Association) to deliver a standardized, international programming language based on JavaScript. This standardized version of JavaScript, called ECMAScript, behaves the same way in all applications that support the standard. Companies can use the open standard language to develop their implementation of JavaScript. The ECMAScript standard is documented in the ECMA-262 specification. See New in JavaScript to learn more about different versions of JavaScript and ECMAScript specification editions.

The ECMA-262 standard is also approved by the ISO (International Organization for Standardization) as ISO-16262. You can also find the specification on the Ecma International website. The ECMAScript specification does not describe the Document Object Model (DOM), which is standardized by the World Wide Web Consortium (W3C). The DOM defines the way in which HTML document objects are exposed to your script. To get a better idea about the different technologies that are used when programming with JavaScript, consult the article JavaScript technologies overview.

JavaScript documentation versus the ECMAScript specification

The ECMAScript specification is a set of requirements for implementing ECMAScript; it is useful if you want to implement standards-compliant language features in your ECMAScript implementation or engine (such as SpiderMonkey in Firefox, or v8 in Chrome).

The ECMAScript document is not intended to help script programmers; use the JavaScript documentation for information on writing scripts.

The ECMAScript specification uses terminology and syntax that may be unfamiliar to a JavaScript programmer. Although the description of the language may differ in ECMAScript, the language itself remains the same. JavaScript supports all functionality outlined in the ECMAScript specification.

The JavaScript documentation describes aspects of the language that are appropriate for a JavaScript programmer.

Getting started with JavaScript

JavaScript'e başlamak kolaydır: tüm ihtiyacınız modern bir web tarayıcısı. Bu rehber şu an sadece Firefox'un son sürümlerinin desteklediği JavaScript özelliklerini içerir, bu yüzden Firefox'un son sürümlerini kullanmak önerilir.

Firefox'ta çalıştırabileceğiniz iki tane kullanışlı JS aracı vardır: Web konsol ve Scratchpad.

Web Konsolu

Web Console yüklü olan sayfanın yapısal içeriğini gösterir ve o anda JS kodlarınızı çalıştırabileceğiniz bir  command line içerir.

Web konsolunu açmak için (Ctrl+Shift+K) komutunu kullanabilir veya "web geliştirici(developer)" menüsünden "web konsol (web console)" u seçebilirsiniz.Geliştirici menüsü Firefox'unuzdaki araçlar(tools) kısmındadır. Web konsolu sayfanın altında açılır. Konsolun en alt kısmı JavaScript kodunuzu gireceğiniz komut satırınızdır:

Scratchpad

Web konsolu tek satırlı JS kodunuzu çalıştırmak için iyidir, fakat çok satırlı JS kodları yazabilirsiniz,web konsol bunun için kullanışlı değildir ve yazdığınız kod örneklerini kaydedemez. Bu yüzden daha kompleks kod örnekleri için Scratchpad daha iyi bir araçtır.

Scratchpad'i açmak için (Shift+F4) komutunu kullabilir veya "web geliştirici(developer)" menüsünden "Scratchpad" i seçebilirsiniz. JavaScript kodu yazabileceğiniz ve çalıştırabileceğiniz, farklı bir editör penceresi açılır. Komutlarınızı diskinizde saklabilir ve diskinizden yükleyebilirsiniz.

Hello world

JS'e başlamak için, Scratchpad'i açın ve ilk kodunuz olan "Hello world"  yazın:

function merhabade(yourName) {
  alert("Hello " + yourName);
}

merhabade("World");

Yukarıda gösterildiği gibi yazdığınız kodu Scratchpad penceresinden seçin ve çalıştırmak için Ctrl+R komutunu kullanın ve izleyin.

İlerleyen sayfalar, daha kompleks uygulamar yazabileceğiniz JS syntaxlarını ve dil özelliklerini içerir.

Document Tags and Contributors

 Contributors to this page: cihantuncer, pasalog
 Last updated by: cihantuncer,