Przeczytałem, że tworzenie przestrzeni nazw dla projektów JavaScript pomaga w zmniejszeniu konfliktów z innymi bibliotekami. Mam pewien kod z wieloma różnymi typami obiektów, dla których zdefiniowałem funkcje konstruktora. Czy dobrą praktyką jest umieszczanie ich w przestrzeni nazw?Konstruktorzy wewnątrz przestrzeni nazw
Na przykład:
var shapes = {
Rectangle: function(w, h) {
this.width = w;
this.height = h;
}
};
która może być wywołana przez:
var square = new shapes.Rectangle(10,10);
moim zdaniem jest dobrym pomysłem –
konstruktora, który jest funkcją, staje się * wyrażeniem funkcji * zamiast deklaracji funkcji * jeśli przypisujesz ją do właściwości obiektu w "przestrzeni nazw" zamiast po prostu wpisujesz 'function Rectangle (w, h) {}. Ma to niewielkie różnice: https: //developer.mozilla.org/de/docs/Web/JavaScript/Reference/Functions Poza tym nie zanieczyszcza globalnej przestrzeni nazw, co jest dobre, jak zauważyli inni. – caw