Lexical Structure, sözcüksel yapı anlamına gelir.
Programlama dilinin Lexical Structure yapısı , programların bu dilde nasıl yazılacağını belirten temel kurallar kümesidir. Değişken adlarının neye benzediği, yorum karakterlerinin hangi ayırıcı karakterler olduğu,
ve bir program ifadesinin diğerinden nasıl ayırt edileceğini belirtir.
Javascript, case-sensitive bir dildir. Bu dilde kullanılan identifierların , değişkenlerin , işlev adlarının ve diğer tanımlayıcıların her zaman harflerin tutarlı şekilde aynı şekilde yazılması gerektiği anlamına gelir.
Örnek olarak, while anahtar kelimesi , while olarak yazılması gerekir. While ve WHILE olarak yazılmaması gerekiyor. elma,Elma,ElMa,ELMA birbirinden farklı dört adet değişkendir.
Javascript , programlardaki belirteçler arasında görünen boşlukları yok sayar. Javascript, çoğu zaman satır sonlarını da yok sayar. Program yazarken boşlukları ve yeni satırları özgürce kullabildiğimiz için, programlarımızı kodun okunabilmesi ve anlaşılabilir olması için tutarlı bir şekilde biçimlendirebilir ve girintili bırakabilirsiniz.
Comments
Javascript iki şekilde yorum satırını destekler. // ile başlayan satırın başı ve sonu arasındaki herhangi bir metin yorum olarak kabul edilir ve Javascript tarafından dikkate alınmaz.
/* ve */ karakterleri arasındaki herhangi bir metin de yorum olarak kabul edilir; bu yorumlar birden fazla satıra yayılabilir ancak iç içe geçmeyebilir.
// Tek satırlık yorum
/* Bu da bir yorum satırı */
/*
Bu da çok satırlı bir yorum satırı.
Birden fazla satıra sahip olabilir.
*/
Literals
Literal programlama dillerindeki veri değerlerini ifade eder. Aşağıdakiler birer literal ifadedir.
33
3.3
"Selam sana"
'Selam'
true
false
null
Identifier ve Reserved Words
Identifier basit bir isimdir. JavaScript te sabitleri, değişkenleri , methodları ve sınıfları adlandırmak ve JavaScript kodundaki belirli döngüler için etiket sağlamak için kullanılır.
Bir JavaScipt identifier i bir harf , _ (underscore) veya $ işareti ile başlamak zorundadır. Sayılar ilk karakter olarak kullanılmasına izin verilmez.
i
degisken
degisken12
_temp
$str
Diğer programlama dillerinde olduğu gibi , JavaScript dilin kendisi tarafından kullanılmak üzere belirli tanımlayıcıları saklı tutar. Bu ayrılmış kelimeler normal tanımlayıcı olarak kullanılmaz.
Unicode
JavaScript programları Unicode karakter kümesi kullanılarak yazılmıştır ve dizelerde yorumlarda herhangi bir Unicode karakterini kullanabiliriz. Portability ve düzenleme kolaylığı için , tanımlıyıcılarda
yalnızca ASCII harflerini ve rakamlarını kullanmak yaygındır. Ancak bu yalnızca bir programlama kuralıdır ve dil, Unicode harflerine , rakamlarına ve ideograflarına tanımlıyıcılarda izin verir. Bu, programcıların İngilizce dışındaki dillerden değişken isimleri kullanmasına ve ayrıca matematiksel sembolleri kullanmasına izin verir.
const π = 3.14;
Unicode Escape Sequences
Bazı bilgisayar donanım ve yazılımları , Unicode karakterlerinin tam setini görüntüleyemez veya giremez veya doğru şekilde işleyemez. Eski teknolojiyi kullanan programcıları ve sistemleri desteklemek için
Javascript , yalnızca ASCII karakterlerini kullanarak Unicode karakterleri yazmamıza izin veren çıkış dizilerini tanımlar. Bu Unicode escapes \u ile başlar ve bunu tam olarak 4 hexadecimal rakam veya curly bracet içine alınmış bir ile 6 hexadecimal rakam izler. Bu Unicode escape JavaScript string literallerinde , regular expression larda ve tanımlıyıcılarda görünebilir.
Unicode Normalization
Eğer Unicode olmayan bir karakter kullanıyorsanız, Unicode un aynı karakteri kodlamanın birden fazla yoluna izin verdiğini unutmayın.
Optional Semicolon
JavaScript diğer programlama dillerinde olduğu gibi , ifadeleri birbirinden ayırmak için “;” kullanır. Bu kodunuzunun okunabilirliğini ve anlamını netleştirmek için önemlidir. “;” olmadan bir ifadenin sonu bir ifadenin başlangıcı olarak görünebilir. JavaScript te ayrı satırlara yazılan iki ifade varsa “;” kullanmayabiliriz.
Aşağıdaki ifadeler iki satıra yazıldığı için ilk “;” gözardı edilebilir.
a = "engin" ;
b = "isa";
Yukarıdaki ifade aşağıdaki gibi yazılırsa ilk “;” zorunludur.
a = "engin" ; b = "isa" ;
JavaScript her satır sonunu noktalı virgül olarak nitelendirmez, genellikle satır sonlarını noktalı virgül olmadan kodu ayrıştıramazsa noktalı virgül olarak algılar . Bir sonraki boşluksuz karakter mevcut
ifadenin devamı olarak yorumlanmazsa , JavaScript bir satır sonunu noktalı virgül olarak değerlendirir.
let name
name
=
"engin isa"
console.log(name)
Yukarıdaki kodu düşündüğümüzde JavaScript kodu aşağıdaki gibi yorumlar :
let name ; name = "engin isa" ; console.log(name);
Bu ifade sonlandırma kuralı bazı şaşırtıcı durumlara yol açmaktadır. Aşağıdaki kod yeni satır ile ayrılmış iki ifadeye benziyor.
let count = x + f
(a+b).toString();
Ancak ikinci kod satırındaki parantezler ,f nin ilk satırından itibaren fonksiyon çağrısı olarak yorumlanabilir ve JavaScript bu kodu şöyle yorumlar :
let count = x + f(a+b).toString();
Burada tasarlanmak istenen kod parçacığı muhtemelen bu şekilde olmadığından dolayı , iki ayrı ifade olarak çalışabilmesi için ilk satırda “;” ifadesi gerekir.
Genel kuralın , JavaScript te satır sonlarını ikinci satır ile birinci satırı bir bütün ifade olarak görmediği ve “;” yorumlandığı 3 durum vardır. return , yield , break , continue ifadeleridir.
Bu ifadeler genellikle tek başına durur, ancak bazen bu ifadelerden sonra bir tanımlayıcı veya ifade yer alır. Bu sözcüklerden herhangi birisinde bir satır sonu görürse JavaScript “;” olarak
yorumlar.
Örneğin ;
return
true;
Yukarıdaki kod return ; true; olarak yorumlanabilir. Ama kodu yazan kişi muhtemelen aşağıdaki gibi bir blok yazmak istemiştir.
return true;