Data types and variables

एक JavaScript variable एक named box है जिसे आप let (changeable) या const (fixed) से declare करते हैं, var पुराना form है, और अंदर की value का एक type होता है: number, string, boolean, undefined, null, या object, जिसे आप typeof से check कर सकते हैं।

9 min read · 9 cards · 2 checks

Read in: English · हिन्दी · ગુજરાતી


Theory

Site को चीज़ें याद रखनी हैं

FestConnect को उन numbers को track करना है जो बदलते हैं (seats left लोगों के register होने से घटते हैं), वे numbers जो कभी नहीं बदलते (entry fee), और text (student का नाम)। इन्हें hold करने के लिए, JavaScript variables इस्तेमाल करती है: named boxes जिनमें आप values डालते हैं और बाद में वापस पढ़ते हैं।

दो सवाल तय करते हैं आप एक कैसे लिखते हैं: क्या यह value कभी बदलती है (let या const चुनिए), और यह किस तरह की value है (इसका type)?

Theory

Labelled boxes, कुछ sealed

एक store room में labelled boxes की कल्पना कीजिए। एक let box आप ख़ाली करके फिर भर सकते हैं (seats left: 30, फिर 29, फिर 28)। एक const box एक बार भरने के बाद sealed हो जाता है (fee 200 है, इस run के लिए हमेशा)। दोनों का एक label (नाम) है जो आप उन्हें ढूँढने के लिए इस्तेमाल करते हैं। और अंदर क्या है, एक number, कुछ text, एक yes/no, उसका एक type होता है जो तय करता है आप इसके साथ क्या कर सकते हैं।

Theory

Declaring, और types

  • `let`: एक variable जिसे आप reassign कर सकते हैं। let seatsLeft = 30;
  • `const`: इस run के लिए fixed एक value; declare होते ही set होनी चाहिए। const FEE = 200;
  • `var`: पुराना form; नए code में इससे बचिए (looser scoping)।

Value का एक type होता है:

  • number (200, 3.5, कोई अलग int/float नहीं), string ("Aditi"), boolean (true/false), undefined (declared, अभी कोई value नहीं), null (जानबूझकर empty), और object (arrays और objects)। typeof x बताता है कौन सा।

Practical

FestConnect state

let seatsLeft = 30;      // number, will change
const FEE = 200;         // number, fixed this run
let studentName = "Aditi";  // string
let isPaid = false;      // boolean
let coupon;              // undefined (declared, no value)

seatsLeft = seatsLeft - 1;   // ok: let can be reassigned  -> 29
// FEE = 250;                // ERROR: const cannot be reassigned

console.log(typeof seatsLeft);  // "number"
console.log(typeof studentName);// "string"
console.log(typeof isPaid);     // "boolean"
console.log(typeof coupon);     // "undefined"

This example runs in Gri-Learn on the web, where you can edit it and see the output.

Think first

let या const?

हर FestConnect value के लिए, let या const चुनिए: (a) fest की date '12 March', (b) registered students की चलती हुई count, (c) maximum seats 500। tap करने से पहले तय कीजिए।

Show the answer

(a) fest date: const, यह page की life के दौरान नहीं बदलती। (b) registered students की चलती count: let, यह लोगों के register होने पर बढ़ती है। (c) maximum seats 500: const, एक fixed cap। Rule of thumb: default से const पकड़िए, और सिर्फ़ तभी let पर switch कीजिए जब आप जानते हों value reassign होगी। कम accidental changes, कम bugs।

Quiz

Console में, `typeof null` surprisingly क्या return करता है?

  1. "object" (JavaScript में एक लंबे समय से चला आ रहा quirk)
  2. "null"
  3. "undefined"
  4. "boolean"
Show the answer

"object" (JavaScript में एक लंबे समय से चला आ रहा quirk)

JavaScript में इसके शुरुआती दिनों से baked एक bug की वजह से, typeof null string "object" return करता है, "null" नहीं (A)। यह "undefined" नहीं है (वह एक ऐसे variable के लिए है जिसे कोई value assign नहीं हुई, एक अलग चीज़) (C), और certainly boolean नहीं है (D)। Examiners इस trick को पसंद करते हैं क्योंकि यह ग़लत लगता है पर defined behaviour है। याद रखिए: null एक value है जिसका मतलब है 'जानबूझकर empty', फिर भी typeof इसे object report करता है।

Watch out

Variable traps

1. const का मतलब frozen contents नहीं है: आप एक const reassign नहीं कर सकते, पर अगर यह एक object hold करता है तो आप फिर भी object की properties बदल सकते हैं। const box को lock करता है, अंदर क्या है उसे नहीं।

2. undefined बनाम null: undefined = कभी value दी नहीं गई; null = आपने इसे जानबूझकर empty set किया। वे एक जैसे नहीं हैं।

3. habit से var reuse करना: let/const prefer कीजिए; var blocks से बाहर leak करता है और confusing bugs cause करता है।

Theory

Types तय करते हैं operators क्या करते हैं

Type जितना दिखता है उससे ज़्यादा matter करता है। अगले lesson में, "3" + 2 "32" देता है (string glue) पर 3 + 2 5 देता है (addition), बिल्कुल type की वजह से। यह जानना कि seatsLeft एक number है और studentName एक string है वही है जो आपको predict करने देता है अगले lesson में operators क्या करेंगे।

Summary

Key takeaways

  • Variables named boxes हैं: let (reassignable), const (इस run के लिए fixed, initialise होना चाहिए), var (पुराना, बचिए)।
  • Default से const prefer कीजिए; let सिर्फ़ तभी इस्तेमाल कीजिए जब value बदलेगी।
  • Types: number, string, boolean, undefined, null, object; JavaScript value से type चुनता है (dynamic typing)।
  • typeof x type को एक string के रूप में report करता है; typeof null "object" है (एक मशहूर quirk)।
  • undefined = अभी कोई value नहीं; null = जानबूझकर empty; const box lock करता है, किसी object का content नहीं।
  • Memory hook: labelled boxes, कुछ sealed (const)।

Study this properly

This page is the lesson to read. In Gri-Learn the same topic is a graded deck: the self-checks are scored and your weak topics are tracked. Free to start.

Start this topic

Already have an account? Sign in

More from Overview of JavaScript

Gri-Learn · syllabus-mapped B.C.A. lessons in English, Hindi and Gujarati

Data types and variables · Web Designing-1 (option A) · Gri-Learn