fb pixel
გამოიწერე YouTube-ის არხიyoutube logoგამოწერა
val-do.com-ის ლოგო
კურსებიბლოგიხ.დ.კ.წესებიკონტაქტიკონვერტორები

კურსებიბლოგიხ.დ.კ.წესებიკონტაქტიკონვერტორები
შესვლა
  1. მთავარი
  2. ბლოგი
  3. factory ფუნქციები ჯავასკრიპტში
factory ფუნქციები ჯავასკრიპტში

factory ფუნქციები ჯავასკრიპტში

ჯავასკრიპტის თითქმის ყველა თანამედროვე framework-ში, გვხვდება ეგრედ წოდებული factory ფუნქციები, ამ ბლოგში, შევეცდები მარტივი მაგალითებით ავხსნა თუ რას წარმოადგენს factory ფუნქცია და რითი განსხვავდება ის ჯავასკრიპტის კლასებისგან.

factory function (ქარხანა ფუნქცია) არის ფუნქცია, რომელიც აგენერირებს და აბრუნებს ობიექტს. თავად სახელწოდებაც პირობითადაა შერქმეული, ვინაიდან ეს ფუნქციები ქმნიან ობიექტებს.

factory ფუნქციების საშუალებით, შეგვიძლია შევქმნათ ობიექტი new საკვანძო სიტყვის (keyword) ან constructor() ფუნქციის გარეშე, ასევე არაა საჭირო გამოვიყენოთ this საკვანძო სიტყვა.

მაგალითი:

function createPerson(name, age) {
  return {
	name,
	age,
	greet() {
  	    console.log(`Hello, my name is ${this.name} and I'm ${this.age} years old.`);
	}
  };
}

const person = createPerson("Alice", 30);
person.greet(); // დაიბეჭდება: Hello, my name is Alice and I'm 30 years old.

ასევე ეს ფუნქციები ენკაფსულაციის საშუალებასაც გვაძლევს, რაც გულისხმობას, იმას, რომ გვქონდეს ე.წ. private ცვლადები და მეთოდები, მაგრამ constructor ფუნქციებისგან განსხვავებით factory ფუნქციებში არ შეგვიძლია გამოვიყენოთ inheritance.

მაგალითი:

function createPerson(name, age) {
  // Private data
  let secret = "I'm a secret!";

  return {
	name,
	age,
	greet() {
  	    console.log(`Hello, my name is ${this.name} and I'm ${this.age} years old.`);
	},
	revealSecret() {
  	    console.log(secret);
	},
  };
}

const person = createPerson("Alice", 30);
person.revealSecret(); // დაიბეჭდება: I'm a secret!

პ.ს. მოცემული მაგალითებში არ არის სრულფასოვნად მოყვანილი ყველა ძირითადი განსხვავება კლსაებთან მიმართებაში, დეტალურ განსხვავებებს შემოგთავაზებთ ცალკე ბლოგში.

პროგრამირების კურსები

  • HTML, CSS-ის საწყისი კურსი, დამწყებთათვის (deprecated - მოძველებული)
  • ჯავასკრიპტის კურსი
  • JavaScript-ის DOM-ის კურსი
  • TypeScript-ის კურსი
  • Angular-ის კურსი
  • HTML, CSS-ის კურსი
  • Reactjs-ის კურსი დამწყებთათვის
  • ალგორითმები
  • Node.js-ის კურსი
  • Dart-ის კურსი
  • C პროგრამირების ენის საფუძვლები

უახლესი ბლოგები პროგრამირებაზე

როგორ ინახება ი...

როგორ ინახება ინფორმაცია. რა არის Bit და Byte?

რატომ არის კომფ...

რატომ არის კომფორტული სამუშაო ოთახი აუცილებელი კოდის წერისა და პროდუქტიული მუშაობისთვის?

რატომ ვერ პოულო...

რატომ ვერ პოულობენ ჯუნიორები სამსახურს?

Inversion Patte...

Inversion Pattern - როგორ დავწეროთ კითხვადი კოდი?

პროგრამირების კურსები
HTML, CSSJavaScriptTypeScriptAngularReactJSNodeJSC
გამომყევი
mipov.net/valdo

© val-do.com 2026 წელი - ყველა უფლება დაცულია

ვერსია 0.1.55