JavaScript'i Düğüm ile öğreniyorum.Bir erişimci dışında bir işlev eklemek için sözdizimi nedir?
// ES6 only
'use strict';
// The base object, "object literal" syntax
let animal2 = {
// public member
animalType: 'animal',
// public method
describe() {
return `This is "${this.animalType}"`;
}
};
// factory function which serves 2 purposes:
// - encapsulation, that's where private things are declared thanks to closures
// - the "real" object creation, this prevents to use "new" which is not really Js-ish
let afc = function afc() {
// private member
let priv = "secret from afc";
return Object.create(animal2, {
// Object customisation
animalType: { value: 'animal with create'},
// object extension. The new objects created here get 3 new members:
// - a private member
// - a new property
// - a new method to access the private member
// new public member
color: { value: 'green' },
secret: {
get: function() { return priv; },
set: function (value) { priv = value; },
},
KO1() {
console.log("KO1");
},
KO2: function() {
console.log("KO2");
}
});
}
// creation of an animal instance
let tac = afc();
Benim sorunum eklemek sözdizimi ne olduğunu anlamaya olamaz: Ben fabrikaları ile nesneleri oluşturma fikir gibi ve bu konuda bir çok okuduktan sonra, ben bu kod ile nesneleri oluşturmak için seçtik Sadece bir erişimci olmasa da özel verileri işleyebilen işlev. Burada aklıma (KOx) gelen 2 örnek koymuştum, ama isimleri öne sürdüğü gibi, bu sözdizimi şu şekildedir: “KOx bir işlev değildir”.
aynı sorunu) {' animal2' 'de. –
"*" yeni "gerçekten Js-ish değil *" - kim sana bunu söyledi? FrédéricHamidi 'KO1 @ – Bergi
() 'da en azından son düğüm versiyonları, bir yazım hatası değildir. FrédéricHamidi, DavinTryon @ –