Dize

Bir grup küme arasındaki herhangi bir karakter kümesi (harfler, sayılar, simgeler vb.) çift tırnak işareti ("), tek tırnak işareti (') veya vurgu işareti (`), bir dize temel öğesidir. Belgeselde gördüğünüz dize örnekleri bu kursta: önceki modülde yer alan console.log örnekleri dize temel öğeleridir.

console.log( "Hello, World." );
> Hello, World.

"Hello, World." bir dize temel öğesidir. Tek tırnak veya ters tırnak işareti kullanarak da aynı sonucu elde edersiniz:

console.log( 'Hello, World.' );
> Hello, World.

console.log(`Hello, World.`);
> Hello, World.

Tırnak içine alınmış karakter dizisine dize değişmezi denir. Çift ve tek tırnak işareti aynı şekilde davranır ve biri diğerini içerebilir kullanabilirsiniz:

console.log( "I'm a string." );
> I'm a string.

console.log( '"A string," I said.' );
> "A string," I said.

"closes" dizesinde aynı çevreleyen karakterin bir örneği "the" dizesi, hatalara neden olabilir:

console.log( '"I'm a string," I said.' );
> Uncaught SyntaxError: missing ) after argument list

Bunu önlemek için ters eğik çizgi (/) kullanarak karakteri kod dışına alın:

console.log( '"I\'m a string," I said.' );
> "I'm a string," I said.

Dize nesnesi

İşlev olarak çağrıldığında, String nesnesi belirtilen bir değeri dize değişmez.

let myString = String( 10 );

myString
> "10"

typeof myString
> string

Prototip kalıtım bölümünde ayrıntılı olarak açıklandığı gibi, String nesnesini bir kurucu olarak kullanmanız nadiren gerekir. Bu, belirtilen değeri içeren dize nesnesi, yöntemler ve özellikleri, bir dize değişmez değeri yerine String nesnesi tarafından sağlanır.

let stringObj = new String( "My new string." );

typeof stringObj
> object

stringObj
> String { "My new string." }

Birleştirme

Sayı yerine dize anlamında kullanıldığında tek bir artı işareti (+) birleştirme operatörü işlevi görür ve birden fazla dize değerini tek bir değerde birleştirir. dize:

console.log( "My" + " string." );
> My string.

Dize değişmez değerleri ve şablon değişmez değerleri

Tek tırnak işareti, çift tırnak işareti ve vurgu işareti, dize temel öğeleri oluşturma. Bununla birlikte, özel boyutları ve işaretleri belirtmek için şablon dizeleri (bazen "şablon dizeleri" olarak da adlandırılır). Şunlardan farklı olarak: tek veya çift tırnak ile oluşturulan dize değişmez değerleri, şablon hazır değerleri dize interpolasyonu kullanır.

const myString = "This
is a string.";
> Uncaught SyntaxError: "" string literal contains an unescaped line break

const myString = `This
is a string.`;

console.log( myString );

> This
is a string.

Şablon literalleri, dolar işareti ve kıvrık ayraçlar (${}) ile işaretlenmiş yer tutucu ifadeleri içerebilir. Bu yer tutucular varsayılan olarak "yerine yerleştirilir". Yani ifadenin sonucu, nihai dizedeki yer tutucunun yerini alır.

console.log( "The result is " + ( 2 + 4 ) + "." );
> The result is 6.
console.log( `The result is ${ 2 + 4 }.` );
> The result is 6.

Değişmez şablon değeri, özel işleve geçirilebilir etiketli şablon oluşturmak için kullanılır. Bu, tek bir şablon kullanan bir işlev çağrısı bağımsız değişken grubu olarak sağlar ve yer tutucularının ortaya çıkarabilirsiniz.

Etiket işlevinin ilk bağımsız değişkeni bir dize değeri dizisi içerir ve kalan bağımsız değişkenler yer tutucuları tanımlar. Bu dize değerleri dizisi "bölme" ile oluşturulur şablondaki her yer tutucuya ekleyin. İlgili içeriği oluşturmak için kullanılan dizideki ilk öğe, ilk yer tutucuya kadar olan karakterleri içerir, ikinci öğe, birinci ve ikinci öğe arasında yer tutucular vb. kullanılır. Her yer tutucu, ilişkili bir yer tutucuyla bağımsız bir değer olarak etiket işlevine iletilir.

const myNoun = "template literal";

function myTagFunction( myStrings, myPlaceholder ) {
    const myInitialString = myStrings[ 0 ];
    console.log( `${ myInitialString }modified ${ myPlaceholder }.` );
}

myTagFunction`I'm a ${ myNoun }.`;
> "I'm a modified template literal."

Öğrendiklerinizi sınayın

Karakterlerden kaçmak için hangi karakter kullanılır?

Ters eğik çizgi ()
Çift tırnak (")
Eğik çizgi (/)

Birleştirme için hangi karakter kullanılır?

+
&
.