JavaScript Strings (12.Ders) – Masif Dinamik
javascript-dersleri

JavaScript Strings (12.Ders)

JavaScript dizeleri metin depolamak ve değiştirmek için kullanılır.
JavaScript dizesi, tırnak içine yazılmış sıfır veya daha fazla karakterdir.
var x = "Masif Bey";
Tek veya çift tırnak kullanabilirsiniz:
var carName1 = "Lamborghini Aveo";  // Double quotes
var carName2 = 'Fiat A3';  // Single quotes
Dizeyi çevreleyen tırnak işaretleriyle eşleşmedikleri sürece, bir dizenin içindeki tırnak işaretlerini kullanabilirsiniz:
var answer1 = "Her şey Yolunda";
var answer2 = "Ona 'Lucky' diyebilirsin";
var answer3 = 'Ona "Lucky" diyebilirsin';

String Uzunluğu

Bir dizenin uzunluğunu bulmak için yerleşik length özelliğini kullanın:
var txt = "ABCÇDEFGĞHIİJKLMNOÖPQRSŞTUÜVWXYZ";
var sln = txt.length;
SONUÇ:32

Escape Karakteri

Fakat ben ” tırnak ile başlayıp ” kullanarak bir yazı içinde tırnak belirtmek istiyorum derseniz. Kaçış karakteri kullanmalısınız.
var x = "Biz kuzeydekilere "Karadenizliler" diyoruz.";

Yukarıdaki kodu çalıştırırsanız ekrana hiç bir şey yazdırmayacaktır.

Fakat tırnaktan önce  ve son tırnaktan önce bir backslash yani ters eğik çizgi yapmamız gerekiyor.

Oldukça basit.1.tırnaktan ve 2.tırnaktan önce eğik çizgi.

Mac kullanıcıları için eğik çizgi yapmak isteyenler alt + * tuş kombinasyonlarını kullanabilir.

var x = "Biz kuzeydekilere \"Karadenizliler\" diyoruz.";

Bu yazının çıktısı: Biz kuzeydekilere “Karadenizliler” diyoruz.

Gördüğünüz gibi her şey çok basit olmakla birlikte biraz ezber ve hatırlama becerisi gerektiriyor. Aslında yapa yapa zamanla el alışkanlığı oluşacaktır.

KodSonuçAçıklama
\’Tek Tırnak
\”Çift Tırnak
\\\Ters Eğik Çizgi (Slaş)

 

var x = 'İstanbul\'un Gözleri Kapalı.';

Yukarıda ters eğik çizgi kullanmasaydınız bu yazı gözükmezdi. E hocam onun yerine birincide çift tırnak kullanırım ondan sonra tek tırnak kullanırım olmaz mı diyeceksiniz. E olur tabi. Hocam peki hem çift tırnakla başlasam hem de eğik çizgi tek tırnak kullanırsam ne olur o zamanda yine eğik çizgi gözükmez program tek tırnak gösterir.

Peki eğik çizginin gözükmesini istiyorsam ?

\\ dizisi bir dizeye ters eğik çizgi ekler:
var x = "Bu karakter \\ eğik çizgi veya ters taksim olarak adlandırılır.";

Js’deki diğer kaçış karakterleri ise şunlardır:

CodeResult
\bBackspace
\fForm Feed
\nNew Line
\rCarriage Return
\tHorizontal Tabulator
\vVertical Tabulator
Yukarıdaki 6 kaçış karakteri orijinal olarak daktiloları, teletipleri ve faks makinelerini kontrol etmek için tasarlanmıştır. HTML’de bir anlam ifade etmiyorlar.

Uzun Kod Satırlarını Kırmak

En iyi okunabilirlik için, programcılar genellikle 80 karakterden uzun kod satırlarından kaçınmayı sever.
Bir JavaScript ifadesi bir satıra sığmıyorsa, bunu kırmak için en iyi yer bir operatörden sonradır:
document.getElementById("demo").innerHTML =
"Selam Lucky!";
Ayrıca, metin dizesi içindeki bir kod satırını tek bir ters eğik çizgiyle ayırabilirsiniz:
document.getElementById("demo").innerHTML = "Selam \
Lucky!";

 

\ Yöntemi tercih edilen yöntem değildir. Evrensel desteği olmayabilir. Bazı tarayıcılar \ karakterinin arkasındaki boşluklara izin vermez.
Bir dizeyi ayırmanın daha güvenli bir yolu, dize eklemesini kullanmaktır:
document.getElementById("demo").innerHTML = "Hello " +
"Lucky!";
Bir kod satırını ters eğik çizgiyle ayıramazsınız:
Aşağıdaki gibi bir aptallık sakın yapmayın.
document.getElementById("demo").innerHTML = \
"Hello Lucky!";

Strings Nesne Olabilir

Normalde, JavaScript strings değişmez değerlerden oluşturulan ilkel değerlerdir:

var firstName = "Ali";

Ancak dizeler, new anahtar kelimesine sahip nesneler olarak da tanımlanabilir:
var firstName = new String("Ali");

var x = "John";
var y = new String("John");

// typeof x will return string
// typeof y will return object
Nesne olarak dizeler oluşturmayın. Yürütme hızını yavaşlatır.
Yeni anahtar kelime kodu karmaşık hale getirir. Bu bazı beklenmedik sonuçlar doğurabilir:
== işlecini kullanırken, eşit dizeler eşittir:
var x = "John";             
var y = new String("John");

// (x == y) is true because x and y have equal values
=== işleci kullanılırken eşit dizeler eşit değildir, çünkü === işleci hem tür hem de değerde eşitlik bekler.
var x = "John";             
var y = new String("John");

// (x === y) is false because x and y have different types (string and object)
Veya daha da kötüsü. Nesneler karşılaştırılamaz:
var x = new String("John");             
var y = new String("John");

// (x == y) is false because x and y are different objects
var x = new String("John");             
var y = new String("John");

// (x === y) is false because x and y are different objects
(X == y) ve (x === y) arasındaki farka dikkat edin.
İki JavaScript nesnesinin karşılaştırılması her zaman yanlış döndürür.

Dedik ve bitirdik.

Bir sonraki dersimiz String Method ile devam edeceğiz. Görüşmek Üzere!

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir


Yeni Yazılara Abone Ol



© Copyright 2020, Masif Dinamik