Variable-னா என்ன?
JavaScript-ல variable-ன்றது ஒரு மனுஷனோட அடையாளம் (Identity) மாதிரி. ஒரு மனுஷனுக்கு எப்படி பல விஷயங்கள் இருக்கும் (பேர், வயசு, வேலை), அதே மாதிரி ஒரு டேட்டாவை ஸ்டோர் பண்ண வைக்கிறதுதான் variable.
நம்ம ஒரு டேட்டாவை (Data) கம்ப்யூட்டர் மெமரில சேமிச்சு வைக்கிறதுக்கு யூஸ் பண்ற ஒரு "கண்டெய்னர்" (Container) தான் வேரியபிள். ஜாவாஸ்கிரிப்ட் ஒரு Dynamically Typed Language, அதனால நீங்க டேட்டா டைப்பை மென்ஷன் பண்ணாமலே வேல்யூஸை ஸ்டோர் பண்ணலாம்.
-
Const:மாற்ற முடியாதவை (Like Date of Birth / Blood Group) ஒரு மனுஷன் பிறந்த தேதியையோ (DOB) அல்லது அவனோட ரத்த வகையையோ (Blood Group) மாத்த முடியாது. இதுதான் const. விளக்கம்: ஒரு தடவை வேல்யூ குடுத்துட்டா, அப்புறம் அதை மாத்தவே முடியாது.
JS Code: const rathaVagai = "O+ve";
-
Let:அவ்வப்போது மாறுபவை (Like Current Designation / Address) ஒருத்தர் இன்னைக்கு 'Junior Developer'-ஆ இருப்பாரு, அடுத்த வருஷம் 'Senior'-ஆ மாறிடுவாரு. இன்னைக்கு சென்னையில இருப்பாரு, நாளைக்கு பெங்களூருக்கு மாறிடுவாரு. இதுதான் let.
ஒரு குறிப்பிட்ட சூழ்நிலைக்கோ (Block Scope) அல்லது நேரத்துக்கோ ஏத்த மாதிரி இதை மாத்திக்கலாம்.
JS Code: let velai = "Junior Dev"; (அடுத்த வருஷம் velai = "Senior Dev";-ன்னு மாத்தலாம்).
-
Var:ஒரு பழைய பழக்கம் (Like Family Reputation / Nickname) முன்னாடி காலத்துல ஒரு குடும்பத்தோட கௌரவம் (Reputation) ஊர் முழுக்க பேசப்படும். அது அந்த மனுஷனோட கண்ட்ரோல்லயே இருக்காது. எங்க வேணா மாறும். இதுதான் var.
இது Function Scope. அதாவது ஒரு ரூம்குள்ள மட்டும் இல்லாம, எல்லா இடத்துலயும் இதோட ஆதிக்கம் இருக்கும். இது அடிக்கடி குழப்பத்தை உண்டாக்கும் (Hoisting). அதனால இப்ப யாரும் இதை அதிகமா யூஸ் பண்றது இல்ல.
JS Code: var ooruPayer = "Madurai";
இதோட Pros & Cons :
-
Const (Pros): ரொம்ப Safe. தெரியாம கூட வேல்யூவை மாத்த முடியாது. அதனால கோட் 'Predictable'-ஆ இருக்கும். -
Let (Pros): Memory Management-க்கு சூப்பர். வேலை முடிஞ்சதும் மெமரியை விட்டு போயிடும் (Block scope). -
Var (Cons): இதோட பெரிய மைனஸ் Hoisting. அதாவது வேரியபிளை டிக்ளர் பண்றதுக்கு முன்னாடியே அது வந்து நிக்கும் (ghost மாதிரி). இதனால நிறைய 'Bugs' வரும்.
Execution (எப்படி நடக்கும்?):
- Memory Phase: மனுஷன் பிறக்குறதுக்கு முன்னாடியே அவனுக்கு என்னென்ன தேவைன்னு பிளான் பண்ற மாதிரி, JS என்ஜின் மெமரியை ஒதுக்கும்.
- Execution Phase: மனுஷன் வளர்ந்து ஒரு ஒரு ஸ்டேஜா அடையுற மாதிரி, கோட் ஒரு ஒரு லைனா ரன் ஆகி வேல்யூவை அசைன் பண்ணும்.
Top comments (0)