Create your own
Lesson illustration

JavaScript Variables: `const`, `let`, aur `var`

Namaste! Pichhli lesson mein aapne GEE Code Editor ka workspace use kiya: script ko Run aur Save karna, meaningful name dena, aur print() output ko Console mein inspect karna. Aaj hum usi script ko zyada useful banayenge: values ko names denge, unhe safely reuse karenge, aur samjhenge kaunsi values change honi chahiye aur kaunsi fixed rehni chahiye.

Is lesson ke baad aap const aur let ke saath variables define kar paayenge, let value update kar paayenge, aur purane GEE scripts mein dikhne wale var syntax ko confidently read kar paayenge. Yeh NDVI dates, cloud thresholds, AOI names, class labels, export settings, aur analysis parameters ko clear aur reusable way mein manage karne ki base skill hai.


Variable: value ko meaningful naam dena

Manual GIS workflow mein aap project settings repeatedly select karte hain: study year, cloud threshold, district name, season, output resolution. Script mein in values ko baar-baar manually type karne ke bajay, hum unhe ek named variable mein store karte hain.

Three labelled containers hold a string, boolean, and number; a variable name lets a script retrieve the stored value later.

Variable ko “box” samajhna useful starting model hai: box ka label variable name hai, aur uske andar stored item value hai. For example:

const studyAreaName = 'Pune district';
const analysisYear = 2023;

print(studyAreaName);
print(analysisYear);

Console mein output hoga:

Pune district
2023

Yahan:

  • const JavaScript keyword hai jo declaration ka type batata hai.
  • studyAreaName aur analysisYear meaningful variable names hain.
  • = ke right side par value assign hoti hai.
  • 'Pune district' text value hai; text hamesha quotes mein likha jata hai.
  • 2023 number hai; number ke around quotes nahin hain.
  • ; line ka end clearly mark karta hai. JavaScript kai cases mein iske bina bhi run ho sakta hai, lekin consistently semicolons use karna beginner scripts mein clarity deta hai.

General pattern:

const variableName = value;

Variable name likhte waqt yeh conventions follow kijiye:

PreferAvoid
startYearstart year — spaces allowed nahin
cloudThreshold1threshold — number se name start nahin hota
districtNamedistrict-name — minus sign confusing hota hai
ndviScalex, abc, value1 — meaning unclear hota hai

JavaScript mein multiword names ke liye camelCase common convention hai: first word lower-case, har next word ka first letter capital. preFloodDate, postFloodDate, aur trainingSamples later GEE scripts mein readable names honge.

Is lesson ke liye apni previous script ki copy banaiye aur ise save kijiye:

02_variables_const_let_var

Ab usmein yeh starter code run kijiye:

const projectName = 'GEE JavaScript practice';
const studyYear = 2023;

print('Project:', projectName);
print('Study year:', studyYear);

print() mein pehle label aur phir variable dene se Console output readable rehta hai. Future mein, jab aap image collections aur statistics inspect karenge, yahi habit debugging ko considerably easier banayegi.

Let, const and var ki kahani | chai aur #javascript

“Let, const and var ki kahani” by Chai aur Code ko dekhiye. Yeh Hinglish walkthrough variables ki declaration, reassignment, aur modern JavaScript mein var ko avoid karne ka practical reason introduce karta hai.

declarations dekhiye, especially meaningful variable names aur initial values ka syntax. Phir const rule dekhiye: focus kijiye ki declared const ko baad mein replace karne par error kyon aata hai. let updates mein reassignment observe kijiye. Finally, var context dekhiye aur note kijiye ki new scripts mein const aur let prefer kiye jaate hain. Video ke console/terminal demonstrations general JavaScript ke hain; GEE Code Editor mein output ke liye hum print() use karenge.


const: jab script ke andar value reassign nahin honi chahiye

const ka practical meaning hai: is variable name ko current script execution mein kisi new value se reassign nahin karunga.

Aapka analysis parameter fixed hona chahiye to const appropriate hai:

const startYear = 2020;
const endYear = 2023;
const cloudThreshold = 20;
const datasetName = 'Sentinel-2 surface reflectance';

print('Analysis period:', startYear, 'to', endYear);
print('Cloud threshold:', cloudThreshold);
print('Dataset:', datasetName);

In values ka relation GEE analysis se naturally clear hai:

  • startYear aur endYear date filtering control karenge.
  • cloudThreshold later image metadata filtering ya masking logic mein use hoga.
  • datasetName dataset ID/documentation note ki tarah helpful ho sakta hai.

Ab yeh line mat run kijiye; ise comment ke form mein rakhiye:

const cloudThreshold = 20;

// cloudThreshold = 30;  // Error: const variable ko reassign nahin kar sakte.

Agar aap commented line se // hata kar Run karenge, script error degi because cloudThreshold ko pehle 20 assign kiya ja chuka hai. const accidental change ko catch karne ka safety mechanism hai.

Ek important GIS-project distinction samajhiye:

const analysisYear = 2023;

Agar next week aap 2024 analyse karna chahte hain aur code edit karke 2023 ko 2024 likh dete hain, woh bilkul valid hai. Aap script ka new version run kar rahe hain.

Invalid case yeh hai:

const analysisYear = 2023;
analysisYear = 2024;

Yahan same script execution ke beech JavaScript ko value replace karne ko kaha gaya hai.

const ke saath initial value compulsory hai

Yeh invalid hai:

// const selectedSeason;

const declare karte hi JavaScript ko value deni padti hai:

const selectedSeason = 'monsoon';

Default rule yaad rakhiye: agar value ka reassignment required nahin hai, const se start kijiye. Isse code padhne wale ko intent immediately samajh aata hai aur accidental overwrite se protection milti hai.

const - JavaScript - MDN Web Docs - Mozilla.org

MDN Web Docs ka “const” reference official-style language guide hai. Isse const ka exact rule aur initializer requirement verify kijiye; especially useful jab GEE Console mein aapko reassignment error mile.

Opening overview mein const ki first explanatory paragraph aur “Syntax” section dekhiye. core rule padhiye: abhi isme se yeh main idea lijiye ki variable name ko new value se reassign nahin kiya ja sakta. Phir “Description” section mein const declaration ke immediate initializer wale paragraph par jaiye aur initializer requirement padhiye. Advanced terms such as block scope aur object mutation ko abhi recognize karna enough hai; unka deeper use later aayega.

Aage arrays aur objects ke saath ek nuance aayega: const variable name ki reassignment ko rokta hai, har possible internal change ko nahin. Filhaal primitive values—numbers aur text—ke liye simple working rule use kijiye: const means script ke andar replace nahin karna.


let: jab value ko update karna genuinely required ho

Kabhi-kabhi variable ki value script ke flow mein update honi chahiye. Us case mein let use hota hai.

Suppose aap analysis period ka year initially set karte hain aur phir next year select karte hain:

let selectedYear = 2022;

print('Initial year:', selectedYear);

selectedYear = 2023;

print('Updated year:', selectedYear);

Console output sequentially hoga:

Initial year: 2022
Updated year: 2023

Pehli line declaration plus initialization hai:

let selectedYear = 2022;

Second assignment value update karta hai:

selectedYear = 2023;

Notice: update line mein let dobara nahin likha. Yeh wrong hai:

let selectedYear = 2022;

// let selectedYear = 2023;  // Same scope mein redeclaration error.

Correct version:

let selectedYear = 2022;

selectedYear = 2023;

Is difference ko ek compact table mein dekhiye:

ActionExampleValid?
const declare and assignconst scale = 10;Yes
const reassignscale = 30;No
let declare and assignlet year = 2022;Yes
let reassignyear = 2023;Yes
let same name se redeclarelet year = 2024;No, same scope mein

let ko declaration ke time value diye bina bhi create kiya ja sakta hai:

let selectedMonth;

print('Before assignment:', selectedMonth);

selectedMonth = 'October';

print('After assignment:', selectedMonth);

First output undefined hoga: iska matlab JavaScript ne variable dekha, lekin usmein abhi koi value assign nahin thi. Second print 'October' show karega.

Real GEE scripts mein, jab starting value already known ho, direct initialization clearer hoti hai:

let selectedMonth = 'October';

Is lesson ke level par let ko aise situations ke liye reserve kijiye jahan update visibly intended ho. Later, reusable functions, conditional logic, aur iterative workflows mein aap dekhenge ki mutable value kab useful hai. Lekin GEE ke server-side objects ke saath hum often new derived object ko separate name se store karenge—har workflow local-variable updates par based nahin hota.

A small parameter workflow

Neeche ka complete snippet GEE Code Editor mein paste aur run kijiye:

const regionLabel = 'Practice AOI';
const firstYear = 2020;
let finalYear = 2022;

print('Region:', regionLabel);
print('Period before update:', firstYear, 'to', finalYear);

finalYear = 2023;

print('Period after update:', firstYear, 'to', finalYear);

Is code ko line by line read kijiye:

  1. regionLabel aur firstYear fixed analysis settings hain, isliye const.
  2. finalYear deliberately changing setting hai, isliye let.
  3. First print() pehle state document karta hai.
  4. Update assignment ke baad second print() modified state confirm karta hai.

Aise “before” aur “after” prints use karna later debugging mein useful hoga—particularly jab date windows, thresholds, ya configuration parameters unexpected result de rahe hon.


Existing GEE scripts mein var ko recognize karna

Aap GEE tutorials, old GitHub-style snippets, ya colleagues ke scripts mein frequently aisa code dekhenge:

var startDate = '2023-06-01';
var endDate = '2023-10-31';
var cloudThreshold = 20;

print(startDate);

var bhi variable declare karta hai. Upar code readable hai, run bhi ho sakta hai, aur var value reassign ho sakti hai:

var floodYear = 2022;

floodYear = 2023;

print(floodYear);

So existing code mein var dekhne par usse unfamiliar syntax samajhkar panic na kijiye. Simply read it as: “is name ke under value store ki gayi hai.”

Lekin new code mein var use karna avoid kijiye. Modern JavaScript practice const aur let use karti hai because unka scope behavior safer aur clearer hai. var ki old behavior certain blocks—curly braces ke andar likhe code—ke saath unexpected conflicts create kar sakti hai. Conditions aur loops ke saath scopes ko next lessons mein detail se use karenge; abhi decision simple rakhiye:

Script situationPreferred keyword
Script ke andar value replace nahin hogiconst
Value later update hogilet
Purane tutorial/script mein legacy declarationvar ko read aur understand kijiye
Naya code aap khud likh rahe hainconst or let, not var

Aap old syntax ko gradually modern syntax mein translate bhi kar sakte hain. For example:

var collectionId = 'COPERNICUS/S2_SR_HARMONIZED';
var analysisYear = 2023;
analysisYear = 2024;

Modern equivalent:

const collectionId = 'COPERNICUS/S2_SR_HARMONIZED';
let analysisYear = 2023;
analysisYear = 2024;

Yahan collectionId kabhi update nahin ho raha, so const. analysisYear update ho raha hai, so let.

Har old GEE script ko immediately rewrite karna mandatory nahin hai. First priority hai code ka purpose samajhna. Jab aap apna reusable version banayein, tab const/let convention adopt kijiye.


Aapka variable decision routine

Kisi new value ke liye keyword choose karne se pehle yeh teen checks kariye:

  1. Kya is value ko meaningful name dena useful hai?
    Agar value multiple places par use hogi—date, threshold, band name, class ID, AOI label—variable banaiye.

  2. Kya current script run ke andar value reassign hogi?
    Nahin, to const use kijiye. Haan, to let.

  3. Kya code mein var already hai?
    Use legacy variable declaration samajhiye. Nayi lines ke liye const ya let choose kijiye.

Aaj ke script ko save karke final version mein yeh code rakhiye:

const projectName = 'GEE JavaScript practice';
const studyAreaName = 'Pune district';
const startYear = 2020;

let endYear = 2022;

print('Project:', projectName);
print('Study area:', studyAreaName);
print('Initial period:', startYear, 'to', endYear);

endYear = 2023;

print('Updated period:', startYear, 'to', endYear);

Key takeaways

  • Variable ek named value hai: variable name descriptive rakhiye aur multiword names ke liye camelCase use kijiye.
  • const ke saath declaration ke time value dena compulsory hai; us variable name ko current run mein reassign nahin kar sakte.
  • let use kijiye jab value intentionally update honi ho. Update ke time let dobara nahin likhte.
  • GEE Code Editor mein variable values verify karne ke liye print() aur Console use kijiye.
  • var purana but common syntax hai, especially existing GEE scripts mein. Usse recognize kijiye, but naya code normally const aur let se likhiye.
  • A fixed-looking setting ko future run ke liye code edit karke change karna allowed hai; const sirf same execution ke andar reassignment rokta hai.

Next lesson mein in variables ke andar store hone wali core JavaScript values—numbers, strings, booleans, null—aur unke basic operators dekhenge. Yeh date logic, thresholds, labels, aur simple analysis expressions likhne ke liye essential hoga.

Can't find a good explanation? Sign up and we'll make it for you

Sign up