Increment Decrement Unary Operators

Increment Decrement Unary Operators – ECMAScript में कुछ ऐसे Special Symbols व Words को Specify किया गया है, जो पिछले Chapter में Specified विभिन्न प्रकार के Data Types पर विभिन्न प्रकार के Operations Perform करता है और किसी न किसी तरह का Result Generate करता है।

JavaScript में जब हम किसी Operator को Use करते हैं, तब वह Operator सामान्‍यत: valueOf() अथवा toString() Method को Call करके उस Value को प्राप्त करता है, जिस पर उसे प्रक्रिया करनी होती है। Operator ये काम Internally Automatically करता है। हमें इसके बारे में सोंचने की जरूरत नहीं होती है। Operators मूल रूप से दो प्रकार के होते हैं:

Unary Operators

जो Operators केवल एक Operand पर Operation Perform करते हैं, Unary Operators कहलाते हैं।

Increment ( ++ ) – Decrement ( – – )

ये दोनों Operators Directly “C” Language से Inspired हैं। इन Operators के भी Prefix व Postfix दो Versions होते हैं। Prefix Operators Operand से पहले Place किए जाते हैं जबकि Postpox Operators Operand के बाद Place किए जाते हैं।

Increment Operator अपने Operand की Value को 1 Increase कर देता है, जबकि Postfix Operator अपने Operand की Value को एक Decrease कर देता है। जैसे-

var num = 10;
++num;

उपरोक्त Statement num के मान को 10 से एक ब<ाकर 11 कर देगा। उपरोक्त Statements को हम निम्नानुसार भी लिख सकते हैं:

var num = 10;
num = num + 1;

इसी तरह से निम्न Statement num की Value को एक घटाकर 9 कर देगा-

var num = 10;
–num;

जबकि इसी Statement को हम निम्नानुसार भी लिख सकते हैं:

var num = 10;
num = num – 1;

Prefix Version का प्रयोग करने पर Operand की Value पहले Increment या Decrement होती है, उसके बाद अन्‍य Calculation Perform होती है, जबकि Postfix Version में पहले Calculation Perform होती है, फिर Value का Increment या Decrement होता है। जैसे-

[code]
      var num = 10;
      var num2 = ++num + 2;
      alert(num);            //Output: 11
      alert(num2);           //Output: 13
[/code]

उपरोक्त Statements में हमने Pre-Increment Operator को Use किया है, जिससे पहले num का मान 10 से एक Decrease होकर 9 हो जाता है उसके बाद num के 11 व 2 का Sum होता है और num2 Variable में मान 13 Store होता है। लेकिन यदि हम उपरोक्त Statement को निम्नानुसार Modify करके Post-Increment का प्रयोग करें-

[code]
      var num = 10;
      var num2 = num++ + 2;
      alert(num);             //Output: 9
      alert(num2);            //Output: 12
[/code]

तो पहले Calculation Perform होती है और num के 10 व 2 का Sum होकर num2 में 12 Store हो जाता, फिर num में एक जुडता है और num का मान 11 हो जाता है। यही प्रक्रिया Decrement Operators पर भी Apply होती है। अन्तर केवल इतना होता है, कि Decrement Operators अपने Operand की Value को 1 Decrease करता है।

JavaScript में ये Operators केवल Integer Values पर ही नहीं बल्कि Strings, Booleans, Floating Point Values व Objects पर भी समान प्रकार से Increment व Decrement Operations Perform करते हैं। ये Operators अपना Increment या Decrement करने के लिए निम्न Rules को Follow करते हैं:

  • इन Operators को जब Number के एक Valid String Representation के साथ Use किया जाता है, ते Sting के Digits Number में Convert होते हैं और Increment/Decrement Operation Perform होने के बाद वह String एक Valid Number में Convert हो जाता है।
  • जब किसी Invalid String के साथ इनका प्रयोग किया जाता है, तब Variable की Value NaN Set हो जाती है और Variable की String एक Number में Change हो जाती है।
  • जब इनका प्रयोग किसी Boolean Value के साथ किया जाता है, जो कि True होता है, तो ये Operators उस Boolean Value को 1 में Convert करने के बाद उसे Increment/Decrement करते हैं और Variable का मान Boolean से Number में Convert हो जाता है।
  • जब इसका प्रयोग एक Floating Point Value के साथ किया जाता है, तब Variable की Value उसी तरह से Increment या Decrement होती है, जिस तरह से किसी Integer की Value Increment या Decrement होती है।
  • इनका प्रयोग जब किसी Object के साथ किया जाता है, तब Object का valueOf() Method Call होता है और Object की Value को Number में Convert करके Operation Perform करता है। जबकि यदि ये Method NaN Return करता है, तो toString() Method Call होता है और String को Number में Convert करने के बाद Increment या Decrement Operation Perform होता है। साथ ही जिस Object के साथ इन्हें Use किया जाता है, वे Objects एक Number Type में Convert हो जाते हैं।

उपरोक्त सभी Rules को निम्नानुसार Code के रूप में समझा जा सकता है:

[code]
var s1 = “2”;
var s2 = “z”;
var b = false;
var f = 1.1;
var obj = {
      valueOf: function() {
            return -1;
      }
};

s1++;   //value becomes numeric 3
s2++;   //value becomes NaN
b++;    //value becomes numeric 1
f--;    //value becomes 0.10000000000000009 (due to floating-point inaccuracies)
obj--;  //value becomes numeric -2
[/code]

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