Önceki videoda tekrar hoş geldiniz, ilan edilen bir nesnenin içinde değilse,
değeri global nesne olduğunu öğrendik.
Bir önceki videonun hâlâ biraz kafası karışık bırakılmış olması durumunda, beyan edilen nesne ile ne kastettiğimi
hızlı bir şekilde göstereceğim.
Buradaki malzemenin oldukça zor olduğunu unutmayın.
Bu videoları birkaç kez izlemeyi ve bilginizi güçlendirmek için kod örneklerini yazmayı deneyin.
Veri adı verilen boş bir nesne yapacağım.
Yaptığım şey, ilan etmeden önce veri nesnesinin mevcut olmadığı bir nesne olarak ilan edildi.
Şimdi eğitmen denilen bu nesneye bir mülk bağlayacağım ve değeri LTE'ye eşit olarak ayarlayacağım.
Şimdi ilan ettiğimiz veri nesnemizin içerisinde elhi'nin değeri olan bir anahtarı var.
Beyan edilen bir nesnenin içinde söylediğimizde bu demektir.
Bu hala karışıksa, sorun değil.
İkinci kural incelendiğinde ve bir nesnenin içindeki bu anahtar kelimeyi görürseniz daha mantıklı olur.
Şimdi ilk kuralla bitirelim.
Burada, anahtar kelimeyi bir fonksiyonun içine koyduğumuzda görebildiğiniz gibi, değeri hala
küresel nesnesidir.
Unutmayın, global kural ilan edilen bir nesnenin içinde olan anahtar kelime değilse de şu anda bir
işlevin içinde olduğu sürece geçerlidir.
Dolayısıyla işlevi çağırdığımızda, döndürülen değer pencere nesnesi.
Şimdi son bir örneğe göz atalım.
Değerini genel nesne olduğu zaman bu anahtar kelimeye özellik eklersek ne olur?
Ve Global Object derken, farklı javascript ortamlarındaki pencere nesnesini kastediyorum.
Bu değer değişecektir.
Ancak tarayıcıdayken genel nesne pencere nesnesidir.
Şimdi bu fonksiyondaki değişkenlerimize bu fonksiyondaki değişkenlerimize göz atalım.
Kişi adı verilen ve Ellie'ye eşit olarak ayarlanan anahtar kelimeye bir mülk ekliyoruz.
Anahtar sözcük, bu genel nesneye, ona eklediğimiz herhangi bir nesneye atıfta bulunduğu için, genel bir değişken olur;
bu, onu işlevin dışında kullanabileceğimiz anlamına gelir.
Bu, yapmak isteyebileceğimiz bir şey gibi gözükebilir, ancak bu aslında çok kötü bir uygulamadır.
Hızla değişkenlerin ve kapsamın javascript'te nasıl çalıştığını tekrar gözden geçirelim.
Köpek denilen bir değişkeni ilan edeceğim ve değerin Rusty'ye eşit olduğunu söyledim.
anahtar sözcüğünü kullanarak person adlı bir değişken bildiren bir işlev yapacağım ve koda eşit olduğunu söyledi.
Daha sonra meek person adlı bir işleve VAR
Bu değişkeni işlevin içinde ilan ettiğimden ve değeri döndürmüyorum çünkü
işlevin dışında ona erişemiyorum.
Ancak köpeğim değişkenini küresel kapsamda ilan ettiğimden beri her yere erişimim var.
Şimdi, işlevimizin içinde VAR anahtar sözcüğünü atlayarak kişi değişkenimize
erişememe sorununu çözebiliriz.
Ancak bu çok kötü bir uygulamadır.
ve sonra bu değerleri daha sonra bir işleve atamanız en iyi uygulamadır.
Birden fazla işleve sahip olmak isteyen tüm değişkenlerimizi, bir değerimiz olmasa bile
kodumuzun üst kısmında ilan etmeniz
Ne yazık ki, anahtar kelime bu global nesne olduğundan yanlışlıkla bir işlevin içinde
genel değişkenler bildirmek oldukça kolaydır.
Bir örnek görelim.
Bir işlevin hataya denk gelen bir işlevi yapacağım, bunun iç dizininde, dizeye eşit olmak için kötü fikir
olarak adlandırılan anahtar sözcükte bir özellik ayarlanır.
Whoops.
Şimdi bu işlevi arayacağım ve kötü fikir değişkenime erişebildiğimi görebiliyoruz.
Yanlışlıkla küresel bir değişken yaptım.
Neyse ki evet 5'de sıkı mod denilen javascript önceki bir sürümü bize yardımcı olmak için eklendi.
Sıkı mod etkinleştirildiğinde Javascript geliştiricileri daha iyi başa okurlar.
Hangisini çift tırnak işareti içinde sıkı kullanarak ekleyerek yapabilirsiniz.
Anahtar kelimenin değeri, bir işlevin içindeyken bu tanımsızdır.
Bu küresel nesne değil.
Bu, üzerine bir şeyler eklemeye çalışırsak bir tür hatası alacağımız anlamına gelir.
Tanımsızlara özellikler ekleyemediğimiz için bu hatayı biraz görmüş olabilirsiniz.
Bu, yanlışlıkla genel değişkenler oluşturmamıza ve javascript'in en iyi uygulamalarını kullanmamıza izin vermesine engel oluyor.
Bu videoda, bu anahtar kelimeyi belirlemek için ilk kuralı gözden geçirdik ve yanlışlıkla
genel işlevler içinde işlevler içinde nasıl oluşturduğumuzu gördük.
Ayrıca sıkı modun bir sonraki video'da bu hatayı yapmamızı nasıl engelleyebildiğini gördük.
İkinci kuralı tartışacağız ve bildirilen bir nesnenin içinde olduğunda bunun anahtar
kelimenin değeri nedir göreceğiz.