JavaScript වලට අලුතෙන්ම එකතු වුන Logical Assignment Operators (2021)

Javascript යනු මේ වන විට ඉතාමත් ප්‍රසිද්ද සහ ඉගෙනීමට පහසු programming language එකක් වන අතර එය programming වලට පැමිනෙන නවකයන්ට ඉතා සුදුසු වේ. මොකද මේ වන විට එය programming වල සෑම ස්තරයකටම පාහේ විහිදී ගොස් ඇත. එනම් එය මේ වන විට front-end (React, Angular, or Vue.js), back-end (Node.js) සහ desktop application (Electron.js) වැනි සියලුම stacks වල application develop කිරීමට යොදා ගනී.

2021දී ආව අලුත්ම javascript version එකත් එක්කම, programming වලට අලුත් operators වර්ගයක් හදුන්වා දෙන ලදී. එනම් මෙතක් කලක් අපි දැන සිටි logical operators (AND, OR, NOT) සහ assignment operators (=, +=, -=) යන operators වර්ග දෙක එකතු කර නවතම operator වර්ගයක් හදුන්වා දී තිබේ. එම operators වර්ගය නම් “Logical Assignment Operators” යන්න වේ. 

එනම් මෙම operators භාවිතා කර, assignment කියන ක්‍රියවලිය logically අපිට එක code පේලියක් හරහා කිරිමට හැකියාව ලැබේ. 

Note: දැනට මෙලස logical assignment operators කියා concept එකක් තවම අනිකුත් languages වලට පැමින නැත.


Javascript 2021 version එක විසින් මෙලස Logical Assignment Operators 3ක් හදුනවා දෙන ලදී. මෙම Logical Operators වන්නේ:

  • Logical AND Assignment : &&=
  • Logical OR Assignment : ||=
  • Logical Nullish Assignment : ??=

Logical Operator &&=  (Logical AND Assignment)

අපිට a නම් variable එකකට b නම් variable එකක අගයක් assign කරන්න උවමනායි සිතන්න. නමුත් එසේ කල යුත්තේ a සදහා අගයක් තිබේනම් පමනැයි යැයිද සිතන්න (එනම් a variable එක truthy නම් පමනක්). එවිට අපි සාමන්‍යයෙන් කරන්නෙ පහත පරිඩි code එකක් ලිවීමයි. නමුත් දැන් අපිට එය “a &&= b” ලෙස සරලවම ලියන්න පුලුවන්. එනම් a වලට b assign වෙන්න, a හි අගයක් තිබ්බොත් පමනක්.

if(a) {
 a = b;
}

Example:

let a = 1;
let b = 2;
a &&= b;
console.log(a) // output for variable 'a' would be 2.

මෙම Logical Operator එකෙන් වෙන්නේ variable a වලට value එකක් ඇති නම්, එනම් truthy value එකක් අති නම් පමනක් variable a වලට b වල ඇති value එක assign කරන බවයි.

Logical Operator ||=  (Logical OR Assignment)

a ||= b යන code block එකෙන් වෙන operation එක පහත code block එකෙන් වෙන දෙයට සමාන වේ:

if(!a) {
 a = b;
}

එනම් මෙහි අදහස &&= operator එකේ වෙන දෙයට සම්පූර්න විරුද්ද එකයි. එනම් මෙහිදී වන්නේ left operand එකෙ අගය falsy නම් පමනක් right operand එකේ value එක එයට assign කර ගැනීම වේ.

Logical Operator ??=  (Logical nullish assignment)

a ??= b යන code block එකෙන් වෙන operation එක පහත code block එකෙන් වෙන දෙයට සමාන වේ:

if (typeof a === "undefined" || a === null) { 
 a = b;
}

එනම් left operand එක (මෙහි a variable එක) null or undefined නම් පමනක් එයට right operand එකේ (b වල) value එක assign කරයි.

පහත video එකෙන් මේ operators තුන භාවිතා කරන ආකාරය තව දුරටත් පැහැදිලි කර ඇත.

Leave a Reply

Your email address will not be published.