𝗣𝗹𝗮𝗶𝗻 𝗩𝗮𝗻𝗶𝗹𝗹𝗮𝗝𝗦 𝗩𝗮𝗿𝗶𝗮𝗯𝗹𝗲
අපි ගැටළුවට කෙලින්ම කපා ගනිමු: ගොනු ප්රමාණය. මෙහි ලැයිස්තුගත කර ඇති අනෙක් සෑම පිළිතුරක්ම ඔබේ කේතය අන්තයටම තල්ලු කරයි. හැකි උපරිම කාර්ය සාධනය, කේත කියවීමේ හැකියාව, මහා පරිමාණ ව්යාපෘති කළමනාකරණය, බොහෝ කේත සංස්කාරකවරුන්ගේ සින්ටැක්ස් ඉඟි කිරීම සහ අවම කිරීම මඟින් කේත ප්රමාණය අඩු කිරීම සඳහා ගණනය කිරීම් සඳහා නිවැරදි ක්රමය මෙය බව මම ඔබට ඉදිරිපත් කරමි.
wvwvwvvv
ඉහත වගුවේ සහ පහත උදාහරණයේ පෙන්වා ඇති පරිදි, ආරම්භ කිරීමට පහසු පියවර පහක් මෙන්න:
- ගණන් ගැනීමේ කණ්ඩායම සඳහා නමක් තීරණය කරන්න. ගණනය කිරීමේ අරමුණ හෝ අවම වශයෙන් ගණන් බැලීමේ ඇතුළත් කිරීම් විස්තර කළ හැකි නාම පදයක් ගැන සිතන්න. නිදසුනක් ලෙස, පරිශීලකයා විසින් තෝරා ගත හැකි වර්ණ නියෝජනය කරන ගණන් බැලීම් සමූහයක් COLORS වලට වඩා COLORCHOICES ලෙස නම් කළ හැකිය.
- කණ්ඩායමේ ගණනය කිරීම් අන්යෝන්ය වශයෙන් හෝ ස්වාධීනද යන්න තීරණය කරන්න. අන්යෝන්ය වශයෙන් නම්, එක් එක් ගණනය කළ විචල්ය නාමය ආරම්භ කරන්න
ENUM_
. ස්වාධීන හෝ පැත්තකින් නම්, භාවිතා කරන්න INDEX_
.
- සෑම ප්රවේශයක් සඳහාම, නව දේශීය විචල්යයක් සාදන්න, එහි නම ආරම්භ වන්නේ
ENUM_
හෝ INDEX_
පසුව කණ්ඩායමේ නම, පසුව අවධාරනය කිරීම, පසුව දේපල සඳහා අද්විතීය මිත්රශීලී නමක්
- එක් කරන්න
ENUMLENGTH_
, ENUMLEN_
, INDEXLENGTH_
, හෝ INDEXLEN_
යන්න ( LEN_
හෝLENGTH_
ගණනය කළ විචල්යයක් අවසානයේ පුද්ගලික මනාපයන් ) . ගණනය කිරීම සඳහා අමතර ප්රවේශයක් එකතු කිරීම සහ මෙම අගය වැඩි කිරීම ඔබේ කේතය බිඳ නොදමන බව සහතික කිරීම සඳහා ඔබේ කේතයේ හැකි සෑම තැනකම ඔබ මෙම විචල්යය භාවිතා කළ යුතුය.
- සෑම අනුයාත ගණනය කිරීමත් විචල්ය අගය එක් දෙන්න පසුගිය වඩා, 0 න් පටන් මෙම පිටුවේ අදහස් මතය බව ඇත
0
බැවින් ගණනය කිරීමත් අගය ලෙස භාවිතා කළ යුතු නැහැ 0 == null
, 0 == false
, 0 == ""
, සහ වෙනත් JS කරනසුලු. මම ඔබට ඉදිරිපත් කරන්නේ, මෙම ගැටළුව මඟහරවා ගැනීමට සහ එකවර කාර්ය සාධනය ඉහළ නැංවීමට, සෑම විටම භාවිතා කරන්න ===
සහ (උදා ) ==
හැර ඔබේ කේතයේ කිසි විටෙකත් දර්ශනය වීමට ඉඩ නොදෙන්න . මගේ සෑම වසරකදීම, ගණන් කිරීමේ අගයක් ලෙස 0 භාවිතා කිරීම පිළිබඳව මට කිසි විටෙකත් ගැටළුවක් නොවීය. ඔබ තවමත් අශෝභන නම්, බොහෝ අවස්ථාවන්හි කාර්ය සාධන ද penalty ුවමක් නොමැතිව ගණන් බැලීම්වල ආරම්භක අගය ලෙස (නමුත් ගණන් බැලීම්වල නොවේ ) භාවිතා කළ හැකිය .typeof
typeof X == "string"
===
1
ENUM_
INDEX_
const ENUM_COLORENUM_RED = 0;
const ENUM_COLORENUM_GREEN = 1;
const ENUM_COLORENUM_BLUE = 2;
const ENUMLEN_COLORENUM = 3;
// later on
if(currentColor === ENUM_COLORENUM_RED) {
// whatever
}
භාවිතා INDEX_
කළ යුත්තේ කවදාද සහ කවදාද යන්න මට මතක ඇති ආකාරය මෙන්න ENUM_
:
// Precondition: var arr = []; //
arr[INDEX_] = ENUM_;
කෙසේ වෙතත්, ENUM_
යම් යම් තත්වයන් යටතේ, එක් එක් අයිතමයේ සිදුවීම් ගණනය කිරීමේදී වැනි දර්ශකයක් ලෙස සුදුසු විය හැකිය.
const ENUM_PET_CAT = 0,
ENUM_PET_DOG = 1,
ENUM_PET_RAT = 2,
ENUMLEN_PET = 3;
var favoritePets = [ENUM_PET_CAT, ENUM_PET_DOG, ENUM_PET_RAT,
ENUM_PET_DOG, ENUM_PET_DOG, ENUM_PET_CAT,
ENUM_PET_RAT, ENUM_PET_CAT, ENUM_PET_DOG];
var petsFrequency = [];
for (var i=0; i<ENUMLEN_PET; i=i+1|0)
petsFrequency[i] = 0;
for (var i=0, len=favoritePets.length|0, petId=0; i<len; i=i+1|0)
petsFrequency[petId = favoritePets[i]|0] = (petsFrequency[petId]|0) + 1|0;
console.log({
"cat": petsFrequency[ENUM_PET_CAT],
"dog": petsFrequency[ENUM_PET_DOG],
"rat": petsFrequency[ENUM_PET_RAT]
});
ඉහත කේතයේ, නව ආකාරයේ සුරතල් සතෙකු එකතු කිරීම සැබවින්ම පහසු බව නිරීක්ෂණය කරන්න: ඔබට පසුව නව ප්රවේශයක් එකතු කර ඒ අනුව ENUM_PET_RAT
යාවත්කාලීන ENUMLEN_PET
කළ යුතුය. ගණනය කිරීමේ වෙනත් පද්ධති සඳහා නව ප්රවේශයක් එක් කිරීම වඩා දුෂ්කර හා දෝෂ සහිත විය හැකිය.
wvwwvw wvwvwv wwwxvw wvwvw
𝗘𝘅𝘁𝗲𝗻𝗱 𝗨𝗽𝗽𝗲𝗿𝗰𝗮𝘀𝗲 𝗩𝗮𝗿𝗶𝗮𝗯𝗹𝗲𝘀 𝗪𝗶𝘁𝗵
මීට අමතරව, ගණනය කිරීම්වල මෙම වාක්ය ඛණ්ඩය පැහැදිලි හා සංක්ෂිප්ත පංතියක් පහත දැක්වෙන පරිදි විහිදේ. පංතියක් දීර් extend LEN_
කිරීම සඳහා, මව් පන්තියේ ඇතුළත් කිරීමට වර්ධක අංකයක් එක් කරන්න . LEN_
අනාගතයේ දී උප පංතිය තවදුරටත් දීර් to කර ගැනීම සඳහා උප පංතිය ස්වකීය පිවිසුමෙන් අවසන් කරන්න .
(function(window){
"use strict";
var parseInt = window.parseInt;
// use INDEX_ when representing the index in an array instance
const INDEX_PIXELCOLOR_TYPE = 0, // is a ENUM_PIXELTYPE
INDEXLEN_PIXELCOLOR = 1,
INDEX_SOLIDCOLOR_R = INDEXLEN_PIXELCOLOR+0,
INDEX_SOLIDCOLOR_G = INDEXLEN_PIXELCOLOR+1,
INDEX_SOLIDCOLOR_B = INDEXLEN_PIXELCOLOR+2,
INDEXLEN_SOLIDCOLOR = INDEXLEN_PIXELCOLOR+3,
INDEX_ALPHACOLOR_R = INDEXLEN_PIXELCOLOR+0,
INDEX_ALPHACOLOR_G = INDEXLEN_PIXELCOLOR+1,
INDEX_ALPHACOLOR_B = INDEXLEN_PIXELCOLOR+2,
INDEX_ALPHACOLOR_A = INDEXLEN_PIXELCOLOR+3,
INDEXLEN_ALPHACOLOR = INDEXLEN_PIXELCOLOR+4,
// use ENUM_ when representing a mutually-exclusive species or type
ENUM_PIXELTYPE_SOLID = 0,
ENUM_PIXELTYPE_ALPHA = 1,
ENUM_PIXELTYPE_UNKNOWN = 2,
ENUMLEN_PIXELTYPE = 2;
function parseHexColor(inputString) {
var rawstr = inputString.trim().substring(1);
var result = [];
if (rawstr.length === 8) {
result[INDEX_PIXELCOLOR_TYPE] = ENUM_PIXELTYPE_ALPHA;
result[INDEX_ALPHACOLOR_R] = parseInt(rawstr.substring(0,2), 16);
result[INDEX_ALPHACOLOR_G] = parseInt(rawstr.substring(2,4), 16);
result[INDEX_ALPHACOLOR_B] = parseInt(rawstr.substring(4,6), 16);
result[INDEX_ALPHACOLOR_A] = parseInt(rawstr.substring(4,6), 16);
} else if (rawstr.length === 4) {
result[INDEX_PIXELCOLOR_TYPE] = ENUM_PIXELTYPE_ALPHA;
result[INDEX_ALPHACOLOR_R] = parseInt(rawstr[0], 16) * 0x11;
result[INDEX_ALPHACOLOR_G] = parseInt(rawstr[1], 16) * 0x11;
result[INDEX_ALPHACOLOR_B] = parseInt(rawstr[2], 16) * 0x11;
result[INDEX_ALPHACOLOR_A] = parseInt(rawstr[3], 16) * 0x11;
} else if (rawstr.length === 6) {
result[INDEX_PIXELCOLOR_TYPE] = ENUM_PIXELTYPE_SOLID;
result[INDEX_SOLIDCOLOR_R] = parseInt(rawstr.substring(0,2), 16);
result[INDEX_SOLIDCOLOR_G] = parseInt(rawstr.substring(2,4), 16);
result[INDEX_SOLIDCOLOR_B] = parseInt(rawstr.substring(4,6), 16);
} else if (rawstr.length === 3) {
result[INDEX_PIXELCOLOR_TYPE] = ENUM_PIXELTYPE_SOLID;
result[INDEX_SOLIDCOLOR_R] = parseInt(rawstr[0], 16) * 0x11;
result[INDEX_SOLIDCOLOR_G] = parseInt(rawstr[1], 16) * 0x11;
result[INDEX_SOLIDCOLOR_B] = parseInt(rawstr[2], 16) * 0x11;
} else {
result[INDEX_PIXELCOLOR_TYPE] = ENUM_PIXELTYPE_UNKNOWN;
}
return result;
}
// the red component of green
console.log(parseHexColor("#0f0")[INDEX_SOLIDCOLOR_R]);
// the alpha of transparent purple
console.log(parseHexColor("#f0f7")[INDEX_ALPHACOLOR_A]);
// the enumerated array for turquoise
console.log(parseHexColor("#40E0D0"));
})(self);
(දිග: බයිට් 2,450)
මෙය වෙනත් විසඳුම් වලට වඩා අඩු ප්රායෝගික යැයි සමහරු පැවසිය හැකිය: එය ටොන් ගණනක ඉඩක්, ලිවීමට බොහෝ කාලයක් ගත වන අතර එය සීනි සින්ටැක්ස් සමඟ ආලේප කර නැත. ඔවුන්ගේ කේතය අවම නොකරන්නේ නම් එම පුද්ගලයින් නිවැරදි වනු ඇත. කෙසේ වෙතත්, කිසිදු සාධාරණ පුද්ගලයෙක් අවසාන නිෂ්පාදනයේ සීමිත කේතයක් තබන්නේ නැත. මෙම අවම කිරීම සඳහා, වසා දැමීමේ සම්පාදකය මා තවමත් සොයාගෙන නැති හොඳම දේ වේ. මාර්ගගත ප්රවේශය මෙහි සොයාගත හැකිය . සංවෘත සම්පාදකයාට මෙම ගණන් ගැනීමේ දත්ත සියල්ලම ගෙන එය පේළිගත කිරීමට හැකි වන අතර එමඟින් ඔබේ ජාවාස්ක්රිප්ට් සුපිරි ඩුපර් කුඩා වන අතර සුපිරි ඩුපර් වේගයෙන් ධාවනය කරයි. මේ අනුව, වසා දැමීමේ සම්පාදකයා සමඟ අවම කරන්න. නිරීක්ෂණය කරන්න.
wvwwvw wvwvwv wwwxvw wvwvw
සංවෘත සම්පාදකයාට වෙනත් ඕනෑම ජාවාස්ක්රිප්ට් මිනිෆියරයක ධාරිතාවෙන් ඔබ්බට ගිය අනුමාන කිරීම් හරහා ඇදහිය නොහැකි තරම් ප්රශස්තිකරණයන් සිදු කළ හැකිය. සංවෘත සම්පාදකයාට ප්රාථමික අගයන් ස්ථාවර අගයකට සකසා ගත හැකිය. සංවෘත සම්පාදකයාට මෙම ආදාන අගයන් මත පදනම්ව අනුමාන කිරීම් සිදු කළ හැකි අතර if-statement සහ loops හි භාවිතයට නොගත් කොටස් ඉවත් කළ හැකිය.
'use strict';(function(e){function d(a){a=a.trim().substring(1);var b=[];8===a.length?(b[0]=1,b[1]=c(a.substring(0,2),16),b[2]=c(a.substring(2,4),16),b[3]=c(a.substring(4,6),16),b[4]=c(a.substring(4,6),16)):4===a.length?(b[1]=17*c(a[0],16),b[2]=17*c(a[1],16),b[3]=17*c(a[2],16),b[4]=17*c(a[3],16)):6===a.length?(b[0]=0,b[1]=c(a.substring(0,2),16),b[2]=c(a.substring(2,4),16),b[3]=c(a.substring(4,6),16)):3===a.length?(b[0]=0,b[1]=17*c(a[0],16),b[2]=17*c(a[1],16),b[3]=17*c(a[2],16)):b[0]=2;return b}var c=
e.parseInt;console.log(d("#0f0")[1]);console.log(d("#f0f7")[4]);console.log(d("#40E0D0"))})(self);
(දිග: බයිට් 605)
වසා දැමීමේ සම්පාදකයා ඔබට වඩා හොඳ කේතයක් සහ ඔබේ කේතය හොඳින් සංවිධානය කිරීම සඳහා ත්යාග පිරිනමයි. මක්නිසාද යත්, බොහෝ මිනිෆයර් සංවිධානාත්මක කේත විශාල ප්රමාණයේ ගොනු ප්රමාණයකින් ද punish ුවම් කරන අතරම, ඔබ උපක්රම භාවිතා කරන්නේ නම් ඊටත් වඩා කුඩා ගොනු ප්රමාණයක් ප්රතිදානය කිරීම සඳහා වසා දැමීමේ සම්පාදකයාට ඔබේ සියලු පිරිසිදුකම හා සනීපාරක්ෂාව විග්රහ කළ හැකිය. විචල්ය නාම ගණනය කිරීම් වැනි. මෙම එක් මනසකින්, කේතීකරණයේ ශුද්ධ ග්රේලය වේ: දෙකම ඔබේ කේතයට කුඩා ප්රමාණයෙන් සහාය වන අතර වඩා හොඳ ක්රමලේඛන පුරුදු පුහුණු කිරීමෙන් ඔබේ මනසට උපකාර කරයි.
wvwwvw wvwvwv wwwxvw wvwvw
𝗦𝗺𝗮𝗹𝗹𝗲𝗿 𝗖𝗼𝗱𝗲
දැන්, මෙම ගණන් බැලීම් නොමැතිව සමාන ගොනුව කොතරම් විශාලදැයි බලමු.
ගණනය කිරීම් භාවිතා නොකර ප්රභවය (දිග: බයිට් 1,973 (ගණන් කළ කේතයට වඩා බයිට් 477 කෙටි!))
බැලීම් නොමැතිව භාවිතා නොකර අවම කර ඇත (දිග: බයිට් 843 ( ගණන් කළ කේතයට වඩා බයිට් 238 ))
දැක ඇති පරිදි, ගණන් බැලීමකින් තොරව, විශාල කේතයක පිරිවැය අනුව ප්රභව කේතය කෙටි වේ. මම ඔබ ගැන නොදනිමි; නමුත් මම අවසාන නිශ්පාදනයට ප්රභව කේත ඇතුළත් නොකරන බව මම දනිමි. මේ අනුව, මෙම ගණනය කිරීම් ක්රමයට වඩා බෙහෙවින් උසස් බැවින් එහි ප්රති min ලය වන්නේ කුඩා ගොනු ප්රමාණයන්ය.
wvwwvw wvwvwv wwwxvw wvwvw
𝗖𝗼𝗼𝗽𝗲𝗿𝗮𝘁𝗶𝘃𝗲 🤝 𝗕𝘂𝗴
මෙම ගණනය කිරීමේ ක්රමයේ ඇති තවත් වාසියක් නම්, කුඩා කේත ප්රමාණය කැප නොකර මහා පරිමාණ ව්යාපෘති පහසුවෙන් කළමනාකරණය කිරීමට එය භාවිතා කළ හැකි වීමයි. වෙනත් පුද්ගලයින් විශාල ප්රමාණයක් සමඟ විශාල ව්යාපෘතියක වැඩ කරන විට, කේතය නිර්මාණය කළේ කවුරුන්ද යන්න සමඟ විචල්ය නම් පැහැදිලිව සලකුණු කිරීම සහ ලේබල් කිරීම ප්රයෝජනවත් විය හැකි අතර එමඟින් කේතයේ මුල් නිර්මාතෘ ඉක්මනින් සහයෝගී දෝෂ නිරාකරණය සඳහා හඳුනාගත හැකිය.
// JG = Jack Giffin
const ENUM_JG_COLORENUM_RED = 0,
ENUM_JG_COLORENUM_GREEN = 1,
ENUM_JG_COLORENUM_BLUE = 2,
ENUMLEN_JG_COLORENUM = 3;
// later on
if(currentColor === ENUM_JG_COLORENUM_RED) {
// whatever
}
// PL = Pepper Loftus
// BK = Bob Knight
const ENUM_PL_ARRAYTYPE_UNSORTED = 0,
ENUM_PL_ARRAYTYPE_ISSORTED = 1,
ENUM_BK_ARRAYTYPE_CHUNKED = 2, // added by Bob Knight
ENUM_JG_ARRAYTYPE_INCOMPLETE = 3, // added by jack giffin
ENUMLEN_PL_COLORENUM = 4;
// later on
if(
randomArray === ENUM_PL_ARRAYTYPE_UNSORTED ||
randomArray === ENUM_BK_ARRAYTYPE_CHUNKED
) {
// whatever
}
𝗦𝘂𝗽𝗲𝗿𝗶𝗼𝗿
තව දුරටත්, මෙම ගණනය කිරීමේ ක්රමය අවම කිරීමෙන් පසුව ද වේගවත් වේ. සාමාන්ය නම් කරන ලද ගුණාංග වලදී, වස්තුවෙහි දේපල තිබෙන්නේ කොතැනදැයි බැලීමට බ්රව්සරයට හැෂ්මැප් භාවිතා කළ යුතුය. JIT සම්පාදකයින් බුද්ධිමත්ව මෙම ස්ථානය වස්තුව මත රඳවාගෙන සිටියද, වස්තුවෙන් අඩු දේපලක් මකා දැමීම වැනි විශේෂ අවස්ථා හේතුවෙන් තවමත් විශාල පොදු කාර්යයක් පවතී.
එහෙත්, අඛණ්ඩ විරල නොවන පූර්ණ සංඛ්යා-සුචිගත කළ PACKED_ELEMENTS සමඟ අරා සමඟ, බ්රව්සරයට එම ඉහළ කොටස මඟ හැරිය හැකි වන්නේ අභ්යන්තර අරාවෙහි අගයෙහි දර්ශකය දැනටමත් නිශ්චිතව දක්වා ඇති බැවිනි. ඔව්, ECMAScript ප්රමිතියට අනුව, සියලු ගුණාංග නූල් ලෙස සැලකිය යුතුය. එසේ වුවද, ECMAScript ප්රමිතියේ මෙම අංගය කාර්ය සාධනය පිළිබඳ නොමඟ යවන සුළු බැවින් සියලු බ්රව්සර්වල අරා වල සංඛ්යාත්මක දර්ශක සඳහා විශේෂ ප්රශස්තිකරණ ඇත.
/// Hashmaps are slow, even with JIT juice
var ref = {};
ref.count = 10;
ref.value = "foobar";
ඉහත කේතය පහත කේතය සමඟ සසඳන්න.
/// Arrays, however, are always lightning fast
const INDEX_REFERENCE_COUNT = 0;
const INDEX_REFERENCE_VALUE = 1;
const INDEXLENGTH_REFERENCE = 2;
var ref = [];
ref[INDEX_REFERENCE_COUNT] = 10;
ref[INDEX_REFERENCE_VALUE] = "foobar";
සාමාන්ය වස්තූන් සමඟ ඇති කේතයට වඩා දිගු යැයි පෙනෙන ගණන් බැලීම් සහිත කේතයට යමෙකු විරුද්ධ විය හැකි නමුත් පෙනුම රැවටිලිකාර විය හැකිය. එපික් වසා දැමීමේ සම්පාදකය භාවිතා කරන විට ප්රභව කේත ප්රමාණය ප්රතිදාන ප්රමාණයට සමානුපාතික නොවන බව මතක තබා ගැනීම වැදගත්ය. නිරීක්ෂණය කරන්න.
/// Hashmaps are slow, even with JIT juice
var a={count:10,value:"foobar"};
ගණන් බැලීම් නොමැතිව අවම කේතය ඉහළින් ඇති අතර ගණන් කිරීම් සහිත අවම කේතය පහතින් ඇත.
/// Arrays, however, are always lightning fast
var a=[10,"foobar"];
ඉහත උදාහරණයෙන් පෙන්නුම් කරන්නේ, ඉහළ කාර්ය සාධනයක් ලැබීමට අමතරව, ගණනය කරන ලද කේතය මඟින් කුඩා කළ කුඩා ගොනු ප්රමාණයක් ද ඇති බවයි.
wvwwvw wvwvwv wwwxvw wvwvw
𝗘𝗮𝘀𝘆
තව දුරටත්, මෙම පුද්ගලයාගේ පෞද්ගලික චෙරි ජාවාස්ක්රිප්ට් මාදිලියේ කෝඩ් මිරර් පා editor සංස්කාරකය සමඟ මෙම ගණනය කිරීම් භාවිතා කරයි. කෝඩ් මිරර් හි ජාවාස්ක්රිප්ට් සින්ටැක්ස් ඉස්මතු කිරීමේ මාදිලිය වත්මන් විෂය පථයේ දේශීය විචල්යයන් ඉස්මතු කරයි. ඒ ආකාරයෙන්, ඔබ විචල්ය නාමයක් නිවැරදිව ටයිප් කරන විට ඔබ ක්ෂණිකව දනී, මන්ද විචල්ය නාමය කලින්var
ප්රධාන පදය , විචල්ය නාමය විශේෂ වර්ණයක් බවට පත් කරයි (පෙරනිමියෙන් සයන්). ඔබ කෝඩ් මිරර් භාවිතා නොකළත්, අවම වශයෙන් බ්රව්සරය ප්රයෝජනවත් වේ[variable name] is not defined
වැරදි ලෙස ගණනය කළ නාමයන් සමඟ කේතය ක්රියාත්මක කිරීමේදී ව්යතිරේකය. එසේම, JSLint සහ Closure Compiler වැනි ජාවාස්ක්රිප්ට් මෙවලම් ඔබ ගණන් කිරීමේ විචල්ය නාමයකින් වැරදියට ටයිප් කරන විට ඔබට පැවසීම ගැන ඉතා loud ෝෂාකාරී වේ. කෝඩ් මිරර්, බ්රව්සරය සහ විවිධ ජාවාස්ක්රිප්ට් මෙවලම් එකට එකතු කර මෙම ගණනය කිරීම් ඉතා සරල හා සැබවින්ම පහසු කරයි.
const ENUM_COLORENUM_RED = 0,
ENUM_COLORENUM_GREEN = 1,
ENUM_COLORENUM_BLUE = 2,
ENUMLEN_COLORENUM = 3;
var currentColor = ENUM_COLORENUM_GREEN;
if(currentColor === ENUM_COLORENUM_RED) {
// whatever
}
if(currentColor === ENUM_COLORENUM_DNE) {
// whatever
}
ඉහත ස්නිපටයේ, ENUM_COLORENUM_DNE
නොපවතින බැවින් දෝෂයක් පිළිබඳව ඔබව දැනුවත් කරන ලදි .
wvwwvw wvwvwv wwwxvw wvwvw
𝗖𝗼𝗻𝗰𝗹𝘂𝘀𝗶𝗼𝗻
ගණනය කිරීමේ මෙම ක්රමවේදය ඇත්ත වශයෙන්ම අවම කේත ප්රමාණයට පමණක් නොව කාර්ය සාධනය, නිදොස්කරණය සහ සහයෝගීතාව සඳහාද යා හැකි හොඳම ක්රමය යැයි පැවසීම ආරක්ෂිත යැයි මම සිතමි.
ප්රයෝජනවත් ප්රශ්නයක් කියවීමෙන් පසු, ප්රශ්න කොටුවේ ඉහළ වම්පස ඉහළ ඊතලය ක්ලික් කිරීමෙන් ඔවුන්ගේ ලිවීමට කාලය වත් කිරීම ගැන මම කතුවරයාට ස්තූතිවන්ත වෙමි. සෑම පිළිතුරු පෙට්ටියකම මෙම ඉහළ ඊතල වලින් එකක් ඇත.
0
ගණන් කිරීමේ අංකයක් ලෙස භාවිතා නොකරන්න . එය සකසා නැති දෙයක් සඳහා භාවිතා නොකරන්නේ නම්.false || undefined || null || 0 || "" || '' || NaN
භාවිතා කරන විට සංසන්දනය කිරීමේදී JS සියල්ලම එකම අගයක් ලෙස සලකයි==
.