Conversion Methods

Conversion Methods – हर Object में toLocaleString(), toString()valueOf() Method होते हैं। toString()valueOf() Methods को जब किसी Array के साथ Call किया जाता है, तब ये Array की Same Values को Return करते हैं और Return होने वाले Result में Array के सभी Elements के मान एक Comma Separated Strings की List के रूप में प्राप्त होते हैं, जिसमें हर Element का मान एक String Value होता है।

जिसका मतलब ये है कि Array के हर Element का एक toString() Method होता है, जो Final Value Create करने के लिए Class होता है। इसे हम निम्न उदाहरण द्वारा समझ सकते हैं:

[code]
   var colors = ["red", "blue", "green"];  
   alert(colors.toString());               //red,blue,green
   alert(colors.valueOf());                //red,blue,green
   alert(colors);                          //red,blue,green
[/code]

इस Code में दो Alert Statements में हमने Array के लिए toString()valueOf() Methods को Manually Call किया है और ये दोनों Methods Array के सभी Elements के मानों की एक Comma Separated Strings की List Return करते हैं। जबकि अन्तिम Alert Statement में हमने किसी Method को Manually Call नहीं किया है, फिर भी हमें Result के रूप में वही Comma Separated Strings की List प्राप्त हो रही है।

ऐसा इसलिए हो रहा है क्योंकि alert() Function को हमेंशा एक String की जरूरत होती है, इसलिए जब हम इस Method में किसी Array को Display होने के लिए Argument के रूप में Pass करते हैं, तो ये alert() Function स्वयं toString() Method को Call करता है और Array के सभी Elements में Stored मानों की एक Comma Separated String List Generate करके उसे Display कर देता है।

सामान्‍यत: toLocaleString() Method भी toString()valueOf() Methods की तरह ही काम करता है लेकिन हमेंशा नहीं। जब इस Method को किसी Array के साथ Call किया जाता है, तब ये Method Array के सभी Elements की Values की एक Comma Separated String List Create करता है। अन्तर केवल इतना है कि ये Method Array के हर Item के साथ toLocaleString() Method को Call करता है न कि toString() Method को। जैसे-

[code]
  var person1 = {
    toLocaleString : function () {
      return "Kuldeep";
    },

    toString : function() {
      return "Kuldeep Chand";
    }
  };

  var person2 = {
    toLocaleString : function () {
      return "Mishra";
    },

    toString : function() {
      return "Mishra Falna";
    }
  };

  var people = [person1, person2];
  alert(people);                     //Output: Kuldeep,Chand
  alert(people.toString());          //Output: Kuldeep,Chand
  alert(people.toLocaleString());    //Output: Kuldeep Chand,Mishra Falna
[/code]

उपरोक्त उदाहरण में हमने दो Objects person1person2 Create किए हैं और इन दोनों Objects को people नाम के एक Array में Values की तरह Store किया है। दोनों ही Objects में हमने toString()toLocaleSting() Method को Define किया है और दोनों ही Methods Different Value Return कर रहे हैं।

जब हम पहला alert Method Call करते हैं, तब ये Method Array के Objects को String में Convert करने के लिए toString() Method को Call करता है, फलस्वरूप Array के दोनों Elements यानी person1person2 दोनों Objects के लिए toString() Methods Call होता है और हमें Output के रूप में “Kuldeep,Chand” String प्राप्त होता है। यही प्रक्रिया तब भी होती है, जब हम दूसरे alert() Function में Array के साथ toString() Method को Manually Specify करते हैं।

लेकिन जब हम तीसरे alert() Function में toLocaleString() Method को Array के साथ Manually Call करते हैं, तब हमें “Kuldeep Chand, Mishra Falna” String प्राप्त होती है, क्योंकि इस बार toString() Method नहीं बल्कि Array के दोनों Object Elements के लिए toLocaleString() Method Call होता है।

toLocaleString(), toString()valueOf() तीनों ही Inherited Methods हमें Array के हर Element पर Stored Values की एक Comma Separated Strings की List Provide करते हैं। इस Comma Separated List को हम join() Method का प्रयोग करके एक अलग प्रकार की String के रूप में भी प्राप्त कर सकते हैं। जैसे-

[code]
   var colors = ["red", "blue", "green"];  
   alert(colors.join(" ");     //Output: red green blue
   alert(colors.join("||");    //Output: red||green||blue
[/code]

इस उदाहरण में हम देख सकते हैं कि इस बार हमें Array के विभिन्न Elements के मानों की जो List प्राप्त हो रही है वह एक Comma Separated List नहीं बल्कि उस Character से Separated List है, जिसे हमने join() Method में Argument के रूप में Pass किया है।

यानी जब हमने join() Method में Argument के रूप में एक Single Space Pass किया] तो हमें हमारे Array के सभी Elements के Values की List एक Space Separated List के रूप में प्राप्त हुआ जबकि Pipe Symbol को Pass करने पर हमें Array के सभी मान Pipe Symbol से Separated प्राप्त हो रहे हैं।

यानी join() Method का प्रयोग करके हम हमारी इच्छानुसार किसी भी प्रकार के Separator से Separated Array Values की List प्राप्त कर सकते हैं, जैसाकि उपरोक्त उदाहरणों द्वारा समझा जा सकता है।

यदि किसी Array में किसी Location पर null या undefined मान हो, तो इस Element के मान के स्थान पर join(), toLocaleString(), toString()valueOf() Methods एक Empty String Return करते हैं।

Advavnce JavaScript in Hindiये Article इस वेबसाईट पर Selling हेतु उपलब्‍ध EBook Advance JavaScript in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी। 

Advance JavaScript in Hindi | Page: 669 | Format: PDF

BUY NOW GET DEMO REVIEWS