"In a constructor function this does not have a value. It is a substitute for the new object. The value of this will become the new object when a new object is created."
daha sonra sizin verdiğiiz gibi şu kodu denedim :
function bike() {
var name = "Ninja";
this.maker = "Kawasaki";
console.log(name + " " + this.maker);
}
daha sonra
oba = new bike();
diyerek bike'ı constructor olarak kullandım
ve daha sonra aşağıdaki gibi bir kod yazdığımda
console.log(oba.maker); // Kawasaki
ve daha sonra yazdığım diğer kod ise
console.log(oba.name); // undefined
olarak çıktı aldım yani sanırsam ilk başta verdiğim kodda yani aşağıdaki gibi olan kodda
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"
burada constructor şeklinde kullandığımdan dolayı bike fonksiyonunun
console.log(this.name + " " + maker); // undefined Bajaj
yukarıdaki ifadesini aşağıdaki ifadeye çevirdi
console.log(obj.name + " " + maker);
ve de
var name = "Ninja";
kısmını direkt aıp oba objesinin içine {maker: "Kawasaki"}
yaptı
aşağıdaki resimde gözüktüğü gibi
resimag.com/p1/6a591c0c56.png