Videoda uzun uzun anlattım ancak vaktin yoksa kısaca var -> function scope yani fonksiyon içinde tanımlanırsa onun dışından erişilemez diğer her türlü tanımda her yerden erişilir ve değiştirilir let -> block scope, blok içinde tanımlanırsa yani { } gördüğünüz her yerde bu bloklar dışında erişilemez, fonksiyon içinde tanımlanırsa function scope yine fonksiyon dışında erişilemez, bunların haricinde global scope olur her yerden erişilebilir ve mutabledır yani değiştirilebilir. var'dan farklı olarak 2. kez aynı isimle değişken tanımlayamazsınız. const -> let'in aynısı. Tek farkı immutable yani değiştirilemez. Kısaca yeni bir değer atayamazsınız. Ancak object ya da array varsa bunlar mutabledır değiştirilebilir. Bunu önlemek için Object.freeze() ya da Object.seal() kullanılabilir. Ayrıca videoda IIFE, hoisting "use strict" gibi konularada değiniyoruz, oradan detaylara bakabilirsiniz. NOT: Günde 1 defa prototurk.com'da ki makalelere tıklayarak destek verebileceğinizi unutmayın
Valla hocam burada değişkenleri daha güzel anlatmışsınız. th-cam.com/video/isASqtTf1Vs/w-d-xo.html --> adresindeki videoyu da izledim. ama bu daha güzel ve kapsamlı. İkisi için de ellerine sağlık. videoların devamını bekliyorum.
belki anlamayan olursa, şöyle bir örnekle daha da detaylandırılabilir ("ilk zamanlarımda çok ceremesini çekmiştim:)") buradaki örnekte bir harita apisi kullanılıyor ve harita ilk çağırıldıktan sonra ikinci bir click olayında gene aynı seçili div'i kullanmak için fonksiyona girdikten sonra diğer fonksiyonda da kullanabilmek için var kullanılıyor. aksi halde haritadaki verileri silip sonradan çağırdığınız verileri kullanıyorsunuz. let kullanılsa fonksiyon dışında kullanamayacağız, dolayısıyla aynı değişkeni ikinci bir fonksiyonda kullanabilmek için değişkeni var ile tanımlamak gerekti. çok anlatabildim mi bilmiyorum ama belki faydası olur diye kod bloğunun ilgili kısımlarını şöyle örneklendireyim: //fonksiyon dışında map adında bir değişken oluşturuluyor. var map; function initMap(raporgeldi) {
map = new google.maps.Map(document.getElementById("harita"),{ center: { lat:39.0593583 , lng: 33.7172505 }, zoom: 6 }); } function guzergah(guzergahDetay,kullaniciKodu,seciliTarih) {
$.ajax({ type:"post", url:"raporgetir", data:{guzergahDetay:"sss",kullaniciKodu:kullaniciKodu,seciliTarih:seciliTarih}, dataType:'json', success:function(guzergahDetayRaporu) { //bla bla işlemler. } function addMarker(guncelveriler) { var marker=new google.maps.Marker({ position:guncelveriler.konumlar, label: { text: guncelveriler.adet, color: '#0084ff', fontSize: '12px', x: '400', y: '100' }, icon:{ url:"ikonlar/evresmi.png", labelOrigin: new google.maps.Point(15, 25) }, optimized: true, //BURADA(BAŞKA BİR FONKSİYONUN İÇİNDEYİZ) MAP DEĞİŞKENİNİ(BİR ÖNCEKİ FONKSİYONDA TANIMLI OLAN) TEKRAR KULLANIYORUZ map:map }); } }
Videoda uzun uzun anlattım ancak vaktin yoksa kısaca
var -> function scope yani fonksiyon içinde tanımlanırsa onun dışından erişilemez diğer her türlü tanımda her yerden erişilir ve değiştirilir
let -> block scope, blok içinde tanımlanırsa yani { } gördüğünüz her yerde bu bloklar dışında erişilemez, fonksiyon içinde tanımlanırsa function scope yine fonksiyon dışında erişilemez, bunların haricinde global scope olur her yerden erişilebilir ve mutabledır yani değiştirilebilir. var'dan farklı olarak 2. kez aynı isimle değişken tanımlayamazsınız.
const -> let'in aynısı. Tek farkı immutable yani değiştirilemez. Kısaca yeni bir değer atayamazsınız.
Ancak object ya da array varsa bunlar mutabledır değiştirilebilir. Bunu önlemek için Object.freeze() ya da Object.seal() kullanılabilir.
Ayrıca videoda IIFE, hoisting "use strict" gibi konularada değiniyoruz, oradan detaylara bakabilirsiniz.
NOT: Günde 1 defa prototurk.com'da ki makalelere tıklayarak destek verebileceğinizi unutmayın
const tayfunErbilen = 'Mükemmel Video' ; // Değişmez :)
Heh işte bu, bu olayı google'da en az 5 defa araştırmışımdır, artık yeniden ihtiyacım olursa kaynak direkt belli olacak :)
yemin ederim bu olayı en az 5 6 kere aramışımdır var ve let arasında çok gidip geliyordum teşekkürler abi!
harika bi öğretmensiniz
sonunda kafamda oturdu çok teşekkürler Tayfun Reis
Kapak fotosu cok iyi 😂
Böyle bir video hazırladığınız için teşekkür ederim.
Allah razı olsun.
Teşekkürler 👍
yine süper ve çok eğitici bir video teşekkürler hocam
thumbnail efsane
temiz sade anlatım teşekkürler.
çok güzel bir anlatım olmuş.
Bayağı yararlı bir içerik teşekkürler hocam
cok iyi boyle devam...
Süper bir anlatım. Emeğinize sağlık.
✅
Teşekkürler hocam
hep soruyordum bende ne farkı var diye :) emeğine sağlık
Super Qardash Super
gidelim de iki reklama tıklayalım
👏
Abi video açıklamasına prototürkün linkini koyarsan reklamlara daha fazla tıklanma olabilir, özellikle telefondan izleyenler için iyi olur bence.
🤙🤙🤙🤙🤙🤙
Abi vscode'daki editör ve ikon temaları nedir acaba?
miim çok güzel abi :D
Hocam -> yaziyor farkli sekil aliyor bir icon gibi bunu hangi extension ile yapabilirim ?
vscode'da font ligatures açmak gerekiyor araştırırsan "font ligatures" diye bulabilirsin fontunda bunu desteklemesi lazım tabi
@@PROTOTURKCOM Cok tesekkurler hocam arastiracagim, elinize ağzıniza sağlık
Valla hocam burada değişkenleri daha güzel anlatmışsınız. th-cam.com/video/isASqtTf1Vs/w-d-xo.html --> adresindeki videoyu da izledim. ama bu daha güzel ve kapsamlı. İkisi için de ellerine sağlık. videoların devamını bekliyorum.
Hocam udemy için react kursu gelir mi acaba :) Cidden reacti sizden dinlemek isterim :)
belki anlamayan olursa, şöyle bir örnekle daha da detaylandırılabilir ("ilk zamanlarımda çok ceremesini çekmiştim:)")
buradaki örnekte bir harita apisi kullanılıyor ve harita ilk çağırıldıktan sonra ikinci bir click olayında gene aynı seçili div'i kullanmak için fonksiyona girdikten sonra diğer fonksiyonda da kullanabilmek için var kullanılıyor. aksi halde haritadaki verileri silip sonradan çağırdığınız verileri kullanıyorsunuz.
let kullanılsa fonksiyon dışında kullanamayacağız, dolayısıyla aynı değişkeni ikinci bir fonksiyonda kullanabilmek için değişkeni var ile tanımlamak gerekti.
çok anlatabildim mi bilmiyorum ama belki faydası olur diye kod bloğunun ilgili kısımlarını şöyle örneklendireyim:
//fonksiyon dışında map adında bir değişken oluşturuluyor.
var map;
function initMap(raporgeldi)
{
map = new google.maps.Map(document.getElementById("harita"),{
center: { lat:39.0593583 , lng: 33.7172505 },
zoom: 6
});
}
function guzergah(guzergahDetay,kullaniciKodu,seciliTarih)
{
$.ajax({
type:"post",
url:"raporgetir",
data:{guzergahDetay:"sss",kullaniciKodu:kullaniciKodu,seciliTarih:seciliTarih},
dataType:'json',
success:function(guzergahDetayRaporu)
{
//bla bla işlemler.
}
function addMarker(guncelveriler)
{
var marker=new google.maps.Marker({
position:guncelveriler.konumlar,
label: {
text: guncelveriler.adet,
color: '#0084ff',
fontSize: '12px',
x: '400',
y: '100'
},
icon:{
url:"ikonlar/evresmi.png",
labelOrigin: new google.maps.Point(15, 25)
},
optimized: true,
//BURADA(BAŞKA BİR FONKSİYONUN İÇİNDEYİZ) MAP DEĞİŞKENİNİ(BİR ÖNCEKİ FONKSİYONDA TANIMLI OLAN) TEKRAR KULLANIYORUZ
map:map
});
}
}