ஜாவாஸ்கிரிப்டில் `அழைப்பு` மற்றும் `விண்ணப்பிக்கவும்` இடையே உள்ள வித்தியாசத்தைப் புரிந்துகொள்வது

ஜாவாஸ்கிரிப்டில் `அழைப்பு` மற்றும் `விண்ணப்பிக்கவும்` இடையே உள்ள வித்தியாசத்தைப் புரிந்துகொள்வது
JavaScript

ஜாவாஸ்கிரிப்டில் செயல்பாடு அழைப்பு முறைகள்

ஜாவாஸ்கிரிப்ட் செயல்பாடுகளை செயல்படுத்த பல வழிகளை வழங்குகிறது, அவற்றில் இரண்டு `Function.prototype.call()` மற்றும் `Function.prototype.apply()`. இரண்டு முறைகளும் குறிப்பிட்ட `இந்த` மதிப்பு மற்றும் வாதங்களுடன் செயல்பாடுகளை அழைக்க உதவுகின்றன, ஆனால் இந்த வாதங்கள் எவ்வாறு அனுப்பப்படுகின்றன என்பதில் அவை வேறுபடுகின்றன.

இந்தக் கட்டுரையானது `அழைப்பு` மற்றும் `விண்ணப்பித்தல்` ஆகியவற்றுக்கு இடையேயான வேறுபாடுகள், அவற்றின் செயல்திறன் தாக்கங்கள் மற்றும் ஒன்று மற்றொன்றை விட விரும்பக்கூடிய காட்சிகள் ஆகியவற்றை ஆராய்வதை நோக்கமாகக் கொண்டுள்ளது. முடிவில், உங்கள் ஜாவாஸ்கிரிப்ட் குறியீட்டில் `அழைப்பு` அல்லது `விண்ணப்பிக்கவும்` எப்போது பயன்படுத்த வேண்டும் என்பதை நீங்கள் தெளிவாகப் புரிந்துகொள்வீர்கள்.

ஜாவாஸ்கிரிப்டில் `அழைப்பு` மற்றும் `விண்ணப்பிக்கவும்` இடையே உள்ள வேறுபாடுகளை ஆராய்தல்

ஜாவாஸ்கிரிப்ட் முன்பக்கம் உதாரணம்

// Example of Function.prototype.call()
const person = {
  fullName: function() {
    return this.firstName + " " + this.lastName;
  }
};

const person1 = {
  firstName: "John",
  lastName: "Doe"
};

console.log(person.fullName.call(person1)); // John Doe

ஜாவாஸ்கிரிப்டில் `அழைப்பு` மற்றும் `விண்ணப்பித்தல்` ஆகியவற்றின் செயல்திறனைப் புரிந்துகொள்வது

ஜாவாஸ்கிரிப்ட் முன்பக்கம் உதாரணம்

// Example of Function.prototype.apply()
const person = {
  fullName: function(city, country) {
    return this.firstName + " " + this.lastName + ", " + city + ", " + country;
  }
};

const person2 = {
  firstName: "Jane",
  lastName: "Doe"
};

console.log(person.fullName.apply(person2, ["Oslo", "Norway"])); // Jane Doe, Oslo, Norway

ஜாவாஸ்கிரிப்டில் செயல்பாட்டு அழைப்பிற்கான `அழைப்பு` மற்றும் `விண்ணப்பித்தல்` ஆகியவற்றை ஒப்பிடுதல்

Node.js பின்தள உதாரணம்

const person = {
  fullName: function(city, country) {
    return this.firstName + " " + this.lastName + ", " + city + ", " + country;
  }
};

const person3 = {
  firstName: "Alice",
  lastName: "Smith"
};

function printName(method) {
  if (method === 'call') {
    console.log(person.fullName.call(person3, 'Paris', 'France'));
  } else if (method === 'apply') {
    console.log(person.fullName.apply(person3, ['Paris', 'France']));
  }
}

printName('call');  // Alice Smith, Paris, France
printName('apply'); // Alice Smith, Paris, France

ஜாவாஸ்கிரிப்ட் டெவலப்மென்ட்டில் `அழைப்பு` மற்றும் `விண்ணப்பிக்கவும்` இடையே தேர்வு செய்தல்

ஜாவாஸ்கிரிப்ட் செயல்திறன் பகுப்பாய்வு

const iterations = 1000000;
const person = {
  fullName: function(city, country) {
    return this.firstName + " " + this.lastName + ", " + city + ", " + country;
  }
};
const person4 = {
  firstName: "Bob",
  lastName: "Brown"
};

console.time('call');
for (let i = 0; i < iterations; i++) {
  person.fullName.call(person4, 'Berlin', 'Germany');
}
console.timeEnd('call');

console.time('apply');
for (let i = 0; i < iterations; i++) {
  person.fullName.apply(person4, ['Berlin', 'Germany']);
}
console.timeEnd('apply');

அழைப்பின் ஆழமான நுண்ணறிவு மற்றும் JavaScript இல் முறைகளைப் பயன்படுத்துதல்

அவற்றின் அடிப்படை பயன்பாட்டிற்கு கூடுதலாக, Function.prototype.call() மற்றும் Function.prototype.apply() உங்கள் ஜாவாஸ்கிரிப்ட் நிரலாக்கத்தை மேம்படுத்தக்கூடிய பல மேம்பட்ட பயன்பாட்டு நிகழ்வுகள் உள்ளன. அத்தகைய ஒரு பயன்பாட்டு வழக்கு முறை கடன் வாங்குதல் ஆகும், இதில் ஒரு பொருளின் முறைகள் மற்றொரு பொருளால் கடன் வாங்கப்படுகின்றன. பரம்பரை இல்லாமல் மற்றொரு பொருளிலிருந்து ஒரு முறையைப் பயன்படுத்த வேண்டிய ஒரு பொருள் உங்களிடம் இருக்கும்போது இது மிகவும் பயனுள்ளதாக இருக்கும். பயன்படுத்தி call() மற்றும் apply(), நீங்கள் முறைகளை தற்காலிகமாக கடன் வாங்கலாம் மற்றும் வெவ்வேறு பொருள்களின் சூழலில் அவற்றை செயல்படுத்தலாம், இதன் மூலம் குறியீடு மறுபயன்பாட்டை மேம்படுத்தலாம் மற்றும் பணிநீக்கத்தை குறைக்கலாம்.

கருத்தில் கொள்ள வேண்டிய மற்றொரு முக்கிய அம்சம் பயன்பாடு ஆகும் apply() மாறுபட்ட செயல்பாடுகளுக்கு—மாறுபட்ட எண்ணிக்கையிலான வாதங்களை ஏற்கும் செயல்பாடுகள். உங்களிடம் பல வாதங்கள் இருந்தால், அவற்றை ஒரு வரிசையை ஏற்காத செயல்பாட்டிற்கு அனுப்ப வேண்டும். apply() மிகவும் எளிது. மறுபுறம், call() செயல்திறன் முக்கியத்துவம் வாய்ந்த சூழ்நிலைகளில் பயனுள்ளதாக இருக்கும், மேலும் வாதங்களின் எண்ணிக்கை அறியப்பட்டு நிலையானது. இந்த நுணுக்கங்களைப் புரிந்துகொள்வதன் மூலம், டெவலப்பர்கள் எப்போது பயன்படுத்த வேண்டும் என்பது பற்றி மேலும் தகவலறிந்த முடிவுகளை எடுக்க முடியும் call() எதிராக apply(), வாசிப்புத்திறன் மற்றும் செயல்திறன் ஆகிய இரண்டிற்கும் அவற்றின் குறியீட்டை மேம்படுத்துகிறது.

JavaScript இல் அழைப்பு மற்றும் விண்ணப்பம் பற்றி அடிக்கடி கேட்கப்படும் கேள்விகள்

  1. இடையே உள்ள முதன்மை வேறுபாடு என்ன call() மற்றும் apply()?
  2. call() தனித்தனியாக வாதங்களை ஏற்றுக்கொள்கிறார், அதே நேரத்தில் apply() வாதங்களை ஒரு வரிசையாக ஏற்றுக்கொள்கிறது.
  3. முடியும் call() மற்றும் apply() ஒன்றுக்கொன்று மாற்றாக பயன்படுத்தப்படுமா?
  4. ஆம், அவர்கள் அதே முடிவை அடைய முடியும், ஆனால் தேர்வு வாதங்கள் எவ்வாறு கட்டமைக்கப்படுகின்றன என்பதைப் பொறுத்தது.
  5. நான் எப்போது விரும்ப வேண்டும் apply() முடிந்துவிட்டது call()?
  6. பயன்படுத்தவும் apply() உங்களிடம் வாதங்களின் வரிசை அல்லது மாறி எண்ணிக்கையிலான வாதங்கள் இருக்கும்போது.
  7. இடையே செயல்திறன் வேறுபாடு உள்ளதா call() மற்றும் apply()?
  8. பெரும்பாலான சந்தர்ப்பங்களில் செயல்திறன் வேறுபாடுகள் மிகக் குறைவு, ஆனால் call() நிலையான எண்ணிக்கையிலான வாதங்களுடன் சற்று வேகமாக இருக்கலாம்.
  9. எப்படி செய்வது call() மற்றும் apply() கையாள this சூழல்?
  10. இரண்டு முறைகளும் வெளிப்படையாக அமைக்கின்றன this செயல்பாடு அழைப்பிற்கான சூழல்.
  11. நான் பயன்படுத்தி கொள்ளலாமா call() மற்றும் apply() கட்டமைப்பாளர் செயல்பாடுகளுடன்?
  12. இல்லை, அவை புதிய நிகழ்வுகளை உருவாக்காததால், கன்ஸ்ட்ரக்டர் செயல்பாடுகளுக்கு அவை பொருந்தாது.
  13. சில மேம்பட்ட பயன்பாட்டு வழக்குகள் எதற்காக call() மற்றும் apply()?
  14. கடன் வாங்கும் முறை மற்றும் மாறுபட்ட செயல்பாடுகளைக் கையாளுவதற்கு அவை பயனுள்ளதாக இருக்கும்.
  15. எப்படி செய்கிறது call() குறியீடு வாசிப்பை மேம்படுத்தவா?
  16. call() வாதங்களின் எண்ணிக்கை அறியப்பட்டு நிலையானதாக இருக்கும் போது செயல்பாட்டை அழைப்பதை தெளிவாக்குகிறது.
  17. முடியும் apply() தெரியாத எண்ணிக்கையிலான வாதங்களைக் கையாளவா?
  18. ஆம், apply() மாறி எண்ணிக்கையிலான வாதங்களைக் கையாள வேண்டிய செயல்பாடுகளுக்கு ஏற்றது.

செயல்பாடு அழைப்பு முறைகள் பற்றிய இறுதி எண்ணங்கள்

முடிவில், இரண்டும் call மற்றும் apply முறைகள் ஜாவாஸ்கிரிப்டில் குறிப்பிட்ட செயல்பாடுகளை செயல்படுத்துவதற்கான சக்திவாய்ந்த கருவிகள் this மதிப்பு. அவற்றுக்கிடையேயான தேர்வு பெரும்பாலும் நீங்கள் செயல்பாட்டிற்கு வாதங்களை எவ்வாறு அனுப்ப விரும்புகிறீர்கள் என்பதைப் பொறுத்தது. போது call நிலையான எண்ணிக்கையிலான வாதங்களைக் கையாளும் போது சிறந்தது, apply வரிசைகள் அல்லது தெரியாத எண்ணிக்கையிலான வாதங்களைக் கையாளும் போது ஒளிர்கிறது. இந்த நுணுக்கங்களைப் புரிந்துகொள்வது மிகவும் திறமையான மற்றும் படிக்கக்கூடிய குறியீட்டை எழுத உதவுகிறது, இறுதியில் சிறந்த ஜாவாஸ்கிரிப்ட் நிரலாக்க நடைமுறைகளுக்கு வழிவகுக்கும்.