ஜாவாஸ்கிரிப்டில் ரன்டைம் சூழல் (Runtime Environment)

ஜாவாஸ்கிரிப்டில் உள்ள ரன்டைம் சூழல் என்பது உங்கள் குறியீடு செயல்படுத்தப்படும் சூழலாகும். இது ஜாவாஸ்கிரிப்ட் இயந்திரம், கால் ஸ்டாக் (call stack), நினைவகக் குவியல் (memory heap) மற்றும் சூழலால் (உலாவி அல்லது Node.js போன்றவை) வழங்கப்படும் API களை உள்ளடக்கியது.

ஜாவாஸ்கிரிப்ட் இயந்திரம் (JavaScript Engine)

உங்கள் குறியீட்டைச் செயல்படுத்துவதற்கு ஜாவாஸ்கிரிப்ட் இயந்திரம் பொறுப்பாகும். பிரபலமான இயந்திரங்களில் V8 (Chrome மற்றும் Node.js இல் பயன்படுத்தப்படுகிறது), SpiderMonkey (Firefox இல் பயன்படுத்தப்படுகிறது) மற்றும் JavaScriptCore (Safari இல் பயன்படுத்தப்படுகிறது) ஆகியவை அடங்கும்.

கால் ஸ்டாக் (Call Stack)

கால் ஸ்டாக் என்பது செயல்பாட்டு அழைப்புகளைக் (function calls) கண்காணிக்கும் ஒரு தரவுக் கட்டமைப்பாகும் (data structure). ஒரு செயல்பாடு அழைக்கப்படும்போது, அது ஸ்டாக்கின் உச்சியில் சேர்க்கப்படும். செயல்பாடு திரும்பும்போது (returns), அது ஸ்டாக்கில் இருந்து அகற்றப்படும்.

கால் ஸ்டாக்கிற்கு ஒரு எடுத்துக்காட்டு

function first() {
    console.log("First function");
    second();
}

function second() {
    console.log("Second function");
    third();
}

function third() {
    console.log("Third function");
}

first();

வெளியீடு:

First function
Second function
Third function

நினைவகக் குவியல் (Memory Heap)

நினைவகக் குவியலில் தான் பொருள்கள், சரங்கள் மற்றும் closures சேமிக்கப்படுகின்றன. இது குப்பை சேகரிப்பானால் (garbage collector) நிர்வகிக்கப்படுகிறது, இது இனி பயன்பாட்டில் இல்லாத நினைவகத்தை மீட்கிறது.

நினைவக ஒதுக்கீட்டிற்கு (Memory Allocation) ஒரு எடுத்துக்காட்டு

let obj = {
    name: "John",
    age: 30
};

let arr = [1, 2, 3, 4, 5];

நிகழ்வு சுழற்சி (Event Loop)

ஒத்திசைவற்ற (asynchronous) செயல்பாடுகளைக் கையாளுவதற்கு நிகழ்வு சுழற்சி பொறுப்பாகும். இது கால் ஸ்டாக் மற்றும் பணி வரிசையை (task queue) தொடர்ந்து சரிபார்க்கிறது, ஸ்டாக் காலியாக இருக்கும்போது வரிசையிலிருந்து பணிகளைச் செயல்படுத்துகிறது.

நிகழ்வு சுழற்சிக்கு ஒரு எடுத்துக்காட்டு

console.log("Start");

setTimeout(() => {
    console.log("Timeout");
}, 0);

console.log("End");

வெளியீடு:

Start
End
Timeout

சூழல் (Environment) வழங்கும் API கள்

ரன்டைம் சூழல் உங்கள் குறியீட்டில் பயன்படுத்தக்கூடிய பல்வேறு API களை வழங்குகிறது. உலாவியில், இவற்றில் DOM, fetch மற்றும் setTimeout ஆகியவை அடங்கும். Node.js இல், கோப்பு முறைமை (file system) செயல்பாடுகள், HTTP கோரிக்கைகள் மற்றும் பல அடங்கும்.

உலாவி (Browser) API க்கு ஒரு எடுத்துக்காட்டு

document.getElementById("myButton").addEventListener("click", () => {
    alert("Button clicked!");
});

Node.js API க்கு ஒரு எடுத்துக்காட்டு

const fs = require('fs');

fs.readFile('example.txt', 'utf8', (err, data) => {
    if (err) {
        console.error(err);
        return;
    }
    console.log(data);
});

முடிவு

திறமையான மற்றும் பயனுள்ள குறியீட்டை எழுதுவதற்கு ஜாவாஸ்கிரிப்டில் உள்ள ரன்டைம் சூழலைப் புரிந்துகொள்வது முக்கியமானது. கால் ஸ்டாக், நினைவகக் குவியல், நிகழ்வு சுழற்சி மற்றும் வழங்கப்பட்ட API கள் எவ்வாறு செயல்படுகின்றன என்பதை அறிந்துகொள்வதன் மூலம், உங்கள் குறியீட்டின் செயல்பாடு மற்றும் செயல்திறனை நீங்கள் சிறப்பாக நிர்வகிக்கலாம்.

results matching ""

    No results matching ""