Skip to content

Latest commit

 

History

History
65 lines (52 loc) · 2.24 KB

mutable-types-in-javascript_tr.md

File metadata and controls

65 lines (52 loc) · 2.24 KB

JavaScript'teki Değişebilir Veri Tipleri

Bir önceki yazıda belirtilen primitif tipler dışında kalan her veri tipi JavaScript'te bir object'ten türer. Fonksiyonlar, Objeler, Diziler bunlardan en çok kullanılanlarıdır.

Sabit Değişkenler Tanımlamak

JavaScript'te sabit olarak adlandırılan değişkenlerin önüne const sözcüğü yazılarak tanımlanırlar. const sözcüğü, değişkeninizi değişmez yapar (immutable), sabit değil. Örneğin:

const isItRaining = false

isItRaining = true // Error: Assignment to constant variable.

Görüldüğü üzere, sabit değişkenler bir daha = işareti ile yeni değere sahip olamazlar. Ama diziler, objeler gibi değişkenlerin elemanları bundan etkilenmez.

const person = {
  name: "Alperen",
  age: 21
}

person.age = 22 // This could be.
person = {
  name: "Mahmut",
  age: 18
} // This can't. Constants connot reassignable.

Array

const exampleArray = [2, true, "Hello"];

Diziler, birden fazla veriyi tek bir değişkende tutmamıza yardımcı olur, görülebileceği üzere JavaScript'te bir dizi içerisinde farklı tipte veriler tutulabilir. Bu yüzden bir kısıtlama yoktur.

typeof exampleArray === "object" // true
exampleArray instanceof Array // true

Object

const exampleObject = {
 key: "Value",
 age: 21,
 isActive: true
};

Objeler, aynı diziler gibi bir değişken üzerinde birden fazla değişken tutmaya yarar, dizilerden farklı olarak, diziler verileri indis adı verilen sayılarda tutarken, objelerde bu string, dizi vs. olabilir.

typeof exampleArray === "object" // true
exampleArray instanceof Object // true

Object, Array, Function gibi tipler yukarıda görüldüğü gibi bir primitif tipmiş gibi tanımlanabildiği gibi aynı zamanda bir constructor yardımı ile de tanımlanabilir.

const func = new Function("your function body");
const arr = new Array(arraySize);
....
new Object()

JavaScript'te contructor ile başlatmak için new sözcüğü kullanılır. Fakat bu yöntem tavsiye edilmez çünkü performansızdır. Örneğin, bir fonksiyonu constructor ile başlattığınızda, fonksiyonunuzu her çalıştırdığınızda, fonksiyonunuzun içeriği her defasında yeniden yorumlanır.