function bike() {
var name = "Ninja";
this.maker = "Kawasaki";
console.log(this.name + " " + maker); // undefined Bajaj
}

var name = "Pulsar";
var maker = "Bajaj";

obj = new bike();
console.log(obj.maker); // "Kawasaki"





Yukarıdaki kodun aşağıdaki parçasındaki kısmında "this.name" "bike()" function'u içerisinde olduğundan global objeyi göstermesi gerekmez mi ? bir de aşağıdaki kodda "maker" variablı neden "Bajaj"ı gösteriyor ben "Kawasaki"yi gösterir diye düşünüyordum ama console'da deneyince öyle olmadı nedenini söyleryebilir misiniz ?




console.log(this.name + " " + maker);





_________________________________________________________

Bir de yine benim bildiğim kadarıyla aşağıdaki kısımda this global scope'taki maker göstermesi lazım diye düşünüyorum ama büyük ihtimalle de yanlış düşünüyorum buradaki this'in neyi ifade ettiğini açıklayabilir misiniz ?



this.maker = "Kawasaki";





_____________________________________________________________


NOT: Örneği aldığım site : https://codeburst.io/all-about-this-and-new-keywords-in-javascript-38039f71780c bu linkte de açıklama veriyor ama ingilizcem yetmedi :D

Şİmdiden teşekkürler arkadaşlar.