Additive Operators – Addition and Subtraction

Additive Operators – Addition and Subtraction – Add  व Subtract Operators, Additive Operators के अन्तर्गत आते हैं। चूंकि ECMAScript में हर Operator के साथ Special Behavior Associated हैं, इसलिए इन Operators के साथ भी कुछ Rules Associated हैं, जो Behind the Scene Apply होते हैं।

Add

इस Operator को ( + ) Symbol द्वारा Represent किया जाता है और इसे दो संख्‍याओं को जोडने के लिए Use किया जाता है।

      var res = 12 + 43;

यदि इस Operator के साथ Specify किए गए दोनों Operands Number हों, तो ये Operator निम्न नियमों के आधार पर Addition के बाद Result Return करता है:

  • यदि दोनों Operands में से कोई भी एक NaN हो, तो NaN Return होता है।
  • यदि Infinity को Infinity के साथ जोडा जाए, तो Infinity Return होता है।
  • यदि –Infinity को –Infinity के साथ जोडा जाए, तो –Infinity Return होता है।
  • यदि Infinity को –Infinity के साथ जोडा जाए, तो NaN Return होता है।
  • यदि +0 को +0 के साथ जोडा जाए, तो +0 Return होता है।
  • यदि +0 को -0 के साथ जोडा जाए, तो -0 Return होता है।
  • यदि -0 को -0 के साथ जोडा जाए, तो -0 Return होता है।

यदि दोनों Operands में से कोई भी एक String हो, तो निम्न नियमों के अनुसार Result Return होता है:

  • यदि दोनों Operands Strings हों, तो Second String First String के साथ Concatenate हो जाती है और हमें दोनों String जुडी हुई प्राप्त होती है।
  • यदि केवल एक Operand String हो, तो दूसरा Operand भी String में Convert होने के बाद पहली String से जुड जाता है और Finally हमें दो Stings के Concatenation से प्राप्त एक String प्राप्त होती है।

यदि दोनों Operands में से कोई एक Operand Object, Boolean या Number हो, तो इसका toString() Method Call होता है जो Value को एक String के रूप में Convert करता है और फिर उपरोक्त दोनों String Rules के आधार पर Result Return होता है। जैसे-

[code]
  var result1 = 5 + 5;           //Output: two numbers
  alert(result1);                //Output: 10
  var result2 = 5 + "5";         //Output: a number and a string
  alert(result2);                //Output: 55
[/code]

ECMAScript में Calculations Left to Right Perform होती हैं, इसलिए कई बार अगर ठीक तरीके से किसी Calculation को Specify न किया जाए, तो बहुत ही अटपटे Result प्राप्त होते हैं। जैसे-

[code]
  var num1 = 5;
  var num2 = 10;
  var message = "The sum of 5 and 10 is " + num1 + num2;
  alert(message);           //Output: "The sum of 5 and 10 is 510"
[/code]

उपरोक्त Code के अनुसार हमें ”The sum of 5 and 10 is 15” Result प्राप्त होना चाहिए था। जबकि हमें उपरोक्त Result इसलिए प्राप्त हो रहा है क्योंकि जब उपरोक्त Code की तीसरी Line Run होती है, तब Calculation Left to Right Perform होने के कारण String“The sum of 5 and 10 is”num1 के साथ जुडती है जो कि एक Number है।

चूंकि String व Number के बीच का Addition हो रहा है, इसलिए JavaScript Number को String में Convert करके “The sum of 5 and 10 is 5”Result Generate करता है।

उसके बाद ये String दूसरे Number num2 के साथ Add होती है और num2 भी String में Convert हो जाता है। फलस्वरूप हमें “The sum of 5 and 10 is 510” प्राप्त होता है।

चूंकि हम num1 + num2 का योग String के साथ Display करना चाहते हैं, इसलिए हमें उपरोक्त Code को निम्नानुसार लिखना होगा-

[code]
  var num1 = 5;
  var num2 = 10;
  var message = "The sum of 5 and 10 is " + (num1 + num2);
  alert(message);           //Output: "The sum of 5 and 10 is 15"
[/code]

चूंकि कोष्‍ठक की प्राथमिकता सबसे ज्यादा होती है, इसलिए इस Code में ECMAScript सबसे पहले दोनों Numbers को जोडता है और Return होने वाले Final Result यानी Number 15 को String के साथ Add करता है। फलस्वरूप हमें Final Result “The sum of 5 and 10 is 15” प्राप्त होता है।

Subtract

इस Operator को ( – ) Symbol द्वारा Represent किया जाता है और इसे पहली संख्‍या में से दूसरी संख्‍या को घटाने के लिए Use किया जाता है।

      var res = 120 – 43;

Add Operator की तरह ही Subtract Operator के साथ भी Special Rules Associated हैं जिनके आधार पर Addition के बाद Result Return करता है:

  • यदि दोनों Operands Number हों, तो ये Operator सामान्‍य Arithmetic Perform करते हुए उपयुक्त Result Return करता है।
  • यदि दोनों Operands में से कोई भी एक NaN हो, तो NaN Return होता है।
  • यदि Infinity को Infinity में से घटाया जाए, तो NaN Return होता है।
  • यदि –Infinity को –Infinity में से घटाया जाए, तो NaN Return होता है।
  • यदि Infinity को –Infinity में से घटाया जाए, तो -Infinity Return होता है।
  • यदि –Infinity को Infinity में से घटाया जाए, तो Infinity Return होता है।
  • यदि +0 को +0 में से घटाया जाए, तो +0 Return होता है।
  • यदि -0 को +0 में से घटाया जाए, तो -0 Return होता है।
  • यदि -0 को -0 में से घटाया जाए, तो +0 Return होता है।
  • यदि दोनों Operands में से कोई भी एक String, Boolean, null या undefined हो, तो Number() Function का प्रयोग करके ये Number में Concert होते हैं और फिर पिछले नियमों के अनुसार Arithmetic Operation Perform होता है। यदि Conversion के बाद Return होने वाला Result NaN हो, तो Subtraction के बाद भी NaN Return होता है।
  • यदि दोनों में से कोई एक Operand Object हो, तो valueOf() Method Call होता है, जो Object की Number Value को Retrieve करता है। यदि Object में valueOf() Method को Define न किया गया हो, तो toString() Method Call होता है और Resulting String एक Number में Convert हो जाता है।

जैसे-

[code]
  var result1 = 5 - true;      //Output: 4 because true is converted to 1
  var result2 = NaN - 1;       //Output: NaN
  var result3 = 5 - 3;         //Output: 2
  var result4 = 5 - "";        //Output: 5 because "" is converted to 0
  var result5 = 5 - "2";       //Output: 3 because "2" is converted to 2
  var result6 = 5 - null;      //Output: 5 because null is converted to 0
[/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