> For the complete documentation index, see [llms.txt](https://hanuce.gitbook.io/javascript-egitimi/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://hanuce.gitbook.io/javascript-egitimi/referans-reference-veri-tipleri/object-nesne/nesne-erisimcileri-getter-and-setter.md).

# Nesne Erişimcileri (Getter & Setter)

Bir nesnenin metotlarını oluştururken özellik adı vermeden doğrudan fonksiyon olarak yazabildiğimizi ifade etmiştik. Örnek.

{% code lineNumbers="true" %}

```javascript
let ogrenci = { 
    isim:'Asya',
    soyisim:'GÜN',
    no:2301,
    bilgi() {
        return this.isim + ' ' + this.soyisim;
    },
};
alert( ogrenci.bilgi() );
```

{% endcode %}

Metotların başında **`get`** kullanımı ile bir metodu özellikmiş gibi **`()`** koymaya gerek kalmadan erişerek metodun döndürdüğü değeri elde edebiliriz. Güzel yanı ise **`get`** ile hesaplanan değerin haricen (nesne dışından) manipüle edilememesidir. Örnek.

{% code lineNumbers="true" %}

```javascript
let ogrenci = { 
    isim:'Asya',
    soyisim:'GÜN',
    no:2301,
    get bilgi() { // get ekledik
        return this.isim + ' ' + this.soyisim;
    },
};
alert( ogrenci.bilgi ); // paranteze gerek kalmadı.
ogrenci.bilgi = 'JavaScript'; // haricen manipüle ettik
alert( ogrenci.bilgi ); // dışarıdan manipüle edilemez.
```

{% endcode %}

Metotların başında **`set`** kullanımı ile nesne dışından bir değeri atama (**`=`**) ile alabilir ve parametre gibi nesnede işleyebiliriz. Örnek.

{% code lineNumbers="true" %}

```javascript
let ogrenci = { 
    isim:'Asya',
    soyisim:'GÜN',
    dogumYili:2010,
    yabanciDil: '',
    set yabanciDilDegis(dil) { // set ekledik
        this.yabanciDil = dil;
    },
};
ogrenci.yabanciDilDegis = 'en'; //parametre yerine atama ile değeri aldık.
alert(ogrenci.yabanciDil);
```

{% endcode %}

**`set`** kullanarak bir metoda parametre göndermek yerine atama ile parametre işledik. **`set`** kullanmadan örnek şöyle olur.

{% code lineNumbers="true" %}

```javascript
let ogrenci = { 
    isim:'Asya',
    soyisim:'GÜN',
    dogumYili:2010,
    yabanciDil: '',
    yabanciDilDegis(dil) {
        this.yabanciDil = dil;
    },
};
ogrenci.yabanciDilDegis('en'); // atama değil parametre olarak vermek gerekti.
alert(ogrenci.yabanciDil);
```

{% endcode %}
