Learn JavaScript

lesson ⧍ / ā§Ž ¡ āĻĒā§āϰāĻĨāĻŽ program: console, let āφāϰ const, type, typeof

Module ā§§ ¡ āĻĒā§āϰāĻĨāĻŽ program: console, let āφāϰ const, type, typeof

let āφāϰ const: āĻāĻ•āϟāĻž value-āϰ āĻāĻ•āϟāĻž āύāĻžāĻŽ, āφāϰ var āύāĻž āϕ⧇āύ

FreeāĻĒāĻĄāĻŧāĻž

āĻāχ lesson-āĻ āϝāĻž āĻļāĻŋāĻ–āĻŦ⧇

  • āϏāĻžāϧāĻžāϰāĻŖāĻ­āĻžāĻŦ⧇ const āĻĻāĻŋāϝāĻŧ⧇ value declare āĻ•āϰāϤ⧇ āĻĒāĻžāϰāĻŦ⧇, āφāϰ value āĻŦāĻĻāϞāĻžāϤ⧇āχ āĻšāϞ⧇ let āĻĻāĻŋāϝāĻŧ⧇āĨ¤
  • āĻŦāĻĻāϞāĻžāύ⧋ const, āϭ⧁āϞ āĻŦāĻžāύāĻžāύ⧇āϰ āύāĻžāĻŽ āφāϰ āĻĻ⧁āχāĻŦāĻžāϰ declare āĻ•āϰāĻž āύāĻžāĻŽā§‡āϰ āϜāĻ¨ā§āϝ Node 22-āĻāϰ message āĻĒāĻĄāĻŧāϤ⧇ āĻĒāĻžāϰāĻŦ⧇āĨ¤
  • JavaScript-āĻāϰ āύāĻŋāϝāĻŧāĻŽ āĻŽā§‡āύ⧇ variable-āĻāϰ āύāĻžāĻŽ āĻĻāĻŋāϤ⧇ āĻĒāĻžāϰāĻŦ⧇, āφāϰ āĻŦ⧁āĻāĻŋāϝāĻŧ⧇ āĻŦāϞāϤ⧇ āĻĒāĻžāϰāĻŦ⧇ var āϕ⧀, āφāϰ āĻāχ track āϕ⧇āύ āĻ•āĻ–āύ⧋ āĻāϟāĻž āϞ⧇āϖ⧇ āύāĻžāĨ¤

Bob-āĻāϰ āĻĻā§‹āĻ•āĻžāύ⧇āϰ program āĻāĻ•āĻĻāĻŽ āωāĻĒāϰ⧇āϰ āĻĻāĻŋāϕ⧇ āĻāĻ•āϟāĻž āĻŦā§āϝāĻžāϗ⧇āϰ āĻĻāĻžāĻŽ āĻŦāϏāĻžāϝāĻŧ: 450 āϟāĻžāĻ•āĻžāĨ¤ āϤāĻŋāύ screen āύāĻŋāĻšā§‡ āĻ—āĻŋāϝāĻŧ⧇ āϏ⧇ sale-āĻāϰ āĻĻāĻžāĻŽ āĻšāĻŋāϏāĻžāĻŦ āĻ•āϰ⧇, āφāϰ āĻĢāϞāϟāĻž āφāĻŦāĻžāϰ āĻ“āχ āĻāĻ•āχ āύāĻžāĻŽā§‡ āϞāĻŋāϖ⧇ āĻĻ⧇āϝāĻŧāĨ¤ āϤāĻžāϰāĻĒāϰ⧇āϰ āĻĒā§āϰāϤāĻŋāϟāĻž āϞāĻžāχāύ sale-āĻāϰ āĻĻāĻžāĻŽāϟāĻžāχ āĻ›āĻžāĻĒ⧇, āϰāϏāĻŋāĻĻ⧇ āϤ⧋ āĻŦāĻŸā§‡āχ, stock-āĻāϰ āĻšāĻŋāϏāĻžāĻŦ⧇āĻ“āĨ¤ āĻ•āĻŋāϛ⧁āχ crash āĻ•āϰ⧇āύāĻŋ, āϤāĻžāχ bug-āϟāĻž Bob āϖ⧁āρāĻœā§‡ āĻĒ⧇āϞ āĻāĻ• āϏāĻĒā§āϤāĻžāĻš āĻĒāϰ⧇āĨ¤ āĻāχ lesson āĻĻ⧇āĻ–āĻžāĻŦ⧇ āĻāĻ• āĻļāĻŦā§āĻĻ⧇āϰ āϏ⧇āχ āĻŦāĻĻāϞāϟāĻž, āϝ⧇āϟāĻž āĻĨāĻžāĻ•āϞ⧇ āĻ“āϰ program āϏāĻ™ā§āϗ⧇ āϏāĻ™ā§āϗ⧇ āĻĨ⧇āĻŽā§‡ āϝ⧇āϤ, āφāϰ message-āĻ āϞāĻžāχāύāϟāĻžāĻ“ āĻĻ⧇āĻ–āĻŋāϝāĻŧ⧇ āĻĻāĻŋāϤāĨ¤

āĻāĻ•āϟāĻž value-āϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻž āύāĻžāĻŽ

Lesson 01 āϝ⧇ āϏāĻ‚āĻ–ā§āϝāĻžāϗ⧁āϞ⧋ āϛ⧇āĻĒ⧇āĻ›āĻŋāϞ, āϏ⧇āϗ⧁āϞ⧋ āĻĒā§āϰāϤāĻŋāϟāĻž āϞāĻžāχāύ⧇ āϏāϰāĻžāϏāϰāĻŋ āϟāĻžāχāĻĒ āĻ•āϰāĻž āĻ›āĻŋāϞāĨ¤ āφāϏāϞ program-āϕ⧇ āĻāĻ•āϟāĻž value āϰ⧇āϖ⧇ āĻĻāĻŋāϝāĻŧ⧇ āφāĻŦāĻžāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āĻšāϝāĻŧāĨ¤ āϤāĻžāχ āϏ⧇ value-āϟāĻžāϕ⧇ āĻāĻ•āϟāĻž āύāĻžāĻŽ āĻĻ⧇āϝāĻŧ, āφāϰ āϤāĻžāϰāĻĒāϰ āĻĨ⧇āϕ⧇ āĻ“āχ āύāĻžāĻŽāϟāĻžāχ value-āϟāĻžāϰ āĻšāϝāĻŧ⧇ āĻ•āĻĨāĻž āĻŦāϞ⧇āĨ¤ āϝ⧇ āύāĻžāĻŽ āĻāĻ•āϟāĻž value āϧāϰ⧇ āϰāĻžāϖ⧇, āϤāĻžāϕ⧇ āĻŦāϞ⧇ variableāĨ¤

let price = 450;
console.log(price);
console.log(price * 2);
console.log("Two bags cost", price * 2, "taka");
450
900
Two bags cost 900 taka

āĻĒā§āϰāĻĨāĻŽ āϞāĻžāχāύāϟāĻž āĻāĻ•āϟāĻž declaration: āĻāϟāĻž price āύāĻžāĻŽāϟāĻž āĻŦāĻžāύāĻžāϝāĻŧ āφāϰ āϤāĻžāϕ⧇ 450 value-āϟāĻž āĻĻ⧇āϝāĻŧāĨ¤ āĻāϰāĻĒāϰ āϝ⧇āĻ–āĻžāύ⧇āχ price āϞ⧇āĻ–ā§‹, āϤāĻžāϰ āĻŽāĻžāύ⧇ "price āĻāχ āĻŽā§āĻšā§‚āĻ°ā§āϤ⧇ āϝ⧇ value āϧāϰ⧇ āφāϛ⧇"āĨ¤ console.log(price) āĻ›āĻžāĻĒ⧇ 450, price āĻļāĻŦā§āĻĻāϟāĻž āύāĻžāĨ¤

āĻāĻ•āϟāĻž declaration

let name = value;
const name = value;
  • let āĻŦāĻž const āĻšāϞ⧋ keyword: āĻāĻŽāύ āĻļāĻŦā§āĻĻ, āϝ⧇āϟāĻž āĻ­āĻžāώāĻžāϟāĻž āύāĻŋāĻœā§‡āϰ āϜāĻ¨ā§āϝ āϰ⧇āϖ⧇ āĻĻāĻŋāϝāĻŧ⧇āϛ⧇āĨ¤ āĻāϟāĻž āĻŦāϞ⧇, āĻāĻ–āĻžāύ āĻĨ⧇āϕ⧇ āĻāĻ•āϟāĻž āύāϤ⧁āύ āύāĻžāĻŽ āĻļ⧁āϰ⧁āĨ¤
  • name āĻšāϞ⧋ āϤ⧋āĻŽāĻžāϰ āĻŦ⧇āϛ⧇ āύ⧇āĻ“āϝāĻŧāĻž āύāĻžāĻŽ, "āύāĻžāĻŽ āĻĻ⧇āĻ“āϝāĻŧāĻž: āύāĻŋāϝāĻŧāĻŽ āφāϰ āĻ…āĻ­ā§āϝāĻžāϏ" āĻ…āĻ‚āĻļ⧇āϰ āύāĻŋāϝāĻŧāĻŽ āĻŽā§‡āύ⧇āĨ¤
  • = āĻŽāĻžāύ⧇ "āύāĻžāĻŽāϟāĻžāϕ⧇ āĻāϟāĻž āϧāϰāĻŋāϝāĻŧ⧇ āĻĻāĻžāĻ“"āĨ¤ āĻ…āĻ™ā§āĻ• āĻĒāϰ⧀āĻ•ā§āώāĻžāϰ "āϏāĻŽāĻžāύ" āĻāϟāĻž āύāĻžāĨ¤
  • value āϝ⧇āϕ⧋āύ⧋ expression: 450, "Zara", 2 * 60 + 25āĨ¤

āϤāĻžāχ declaration āĻāĻ•āϟāĻž āύāĻžāĻŽ āĻāĻ•āĻŦāĻžāϰāχ āĻŦāĻžāύāĻžāϝāĻŧ, āφāϰ āϤāĻžāϰāĻĒāϰ āĻĨ⧇āϕ⧇ āύāĻžāĻŽāϟāĻž āϤāĻžāϰ value-āϰ āϜāĻžāϝāĻŧāĻ—āĻžāϝāĻŧ āĻŦāϏ⧇āĨ¤

let: āϝ⧇ āύāĻžāĻŽā§‡āϰ value āĻŦāĻĻāϞāĻžāϤ⧇ āĻĒāĻžāϰ⧇

let āĻĻāĻŋāϝāĻŧ⧇ āĻŦāĻžāύāĻžāύ⧋ āύāĻžāĻŽāϕ⧇ āĻĒāϰ⧇ āύāϤ⧁āύ value āĻĻ⧇āĻ“āϝāĻŧāĻž āϝāĻžāϝāĻŧāĨ¤ āύāĻžāĻŽāϟāĻž āϞ⧇āĻ–ā§‹, āϤāĻžāϰāĻĒāϰ = āφāϰ āύāϤ⧁āύ value, āϏāĻžāĻŽāύ⧇ āϕ⧋āύ⧋ keyword āĻ›āĻžāĻĄāĻŧāĻžāĨ¤ āĻāϕ⧇ āĻŦāϞ⧇ assignmentāĨ¤

let score = 0;
console.log(score);
score = 10;
console.log(score);
score = score + 5;
console.log(score);
0
10
15

score = score + 5 āĻĒāĻĄāĻŧā§‹ āĻĄāĻžāύ āĻĻāĻŋāĻ• āĻĨ⧇āϕ⧇āĨ¤ Engine āφāϗ⧇ score + 5 āĻšāĻŋāϏāĻžāĻŦ āĻ•āϰ⧇, āĻĒ⧁āϰ⧋āύ⧋ value 10 āĻĻāĻŋāϝāĻŧ⧇āĨ¤ āϤāĻžāϰāĻĒāϰ score-āϕ⧇ āωāĻ¤ā§āϤāϰāϟāĻž, 15, āϧāϰāĻŋāϝāĻŧ⧇ āĻĻ⧇āϝāĻŧāĨ¤ āĻāϜāĻ¨ā§āϝāχ = āĻ…āĻ™ā§āϕ⧇āϰ āϏāĻŽāĻžāύ āϚāĻŋāĻšā§āύ āύāĻž: āϏāĻŽā§€āĻ•āϰāĻŖ āĻšāĻŋāϏ⧇āĻŦ⧇ score = score + 5 āĻ•āĻ–āύ⧋āχ āϏāĻ¤ā§āϝāĻŋ āĻšāϤ⧇ āĻĒāĻžāϰāϤ āύāĻžāĨ¤

āϤāĻžāχ let āĻāĻŽāύ āύāĻžāĻŽ āĻŦāĻžāύāĻžāϝāĻŧ, āϝ⧇āϟāĻž āφāĻŦāĻžāϰ assign āĻ•āϰāĻž āϝāĻžāϝāĻŧ, āφāϰ assignment āύāĻžāĻŽāϟāĻž āĻŦāĻĻāϞāĻžāύ⧋āϰ āφāϗ⧇ āĻĄāĻžāύ āĻĻāĻŋāĻ•āϟāĻž āĻšāĻŋāϏāĻžāĻŦ āĻ•āϰ⧇ āύ⧇āϝāĻŧāĨ¤

const: āϝ⧇ āύāĻžāĻŽ āϤāĻžāϰ value āϧāϰ⧇ āϰāĻžāϖ⧇

const āĻĻāĻŋāϝāĻŧ⧇ āĻŦāĻžāύāĻžāύ⧋ āύāĻžāĻŽ āϏāĻžāϰāĻž āĻœā§€āĻŦāύ āĻāĻ•āϟāĻžāχ value āϧāϰ⧇ āϰāĻžāϖ⧇āĨ¤ āĻ…āĻ¨ā§āϝ value āĻĻāĻŋāϤ⧇ āϗ⧇āϞ⧇āχ program āĻ“āχ āϞāĻžāχāύ⧇ āĻĨ⧇āĻŽā§‡ āϝāĻžāϝāĻŧāĨ¤

const price = 450;
console.log(price);
price = 405;
console.log(price);

āĻĒā§āϰāĻĨāĻŽ console.log āĻ›āĻžāĻĒ⧇ 450āĨ¤ āϤāĻžāϰāĻĒāϰ Playground run āĻļ⧇āώ āĻ•āϰ⧇ Runtime error āĻĻāĻŋāϝāĻŧ⧇, āφāϰ output-āĻ āĻĻ⧇āĻ–āĻžāϝāĻŧ āϞāĻžāχāύāϟāĻž, =-āĻāϰ āύāĻŋāĻšā§‡ āĻāĻ•āϟāĻž caret āϚāĻŋāĻšā§āύ, āφāϰ message-āϟāĻžāĨ¤

/box/main.js:3
price = 405;
      ^

TypeError: Assignment to constant variable.

Bob-āĻāϰ āĻĻāϰāĻ•āĻžāϰ āĻ›āĻŋāϞ āĻāχ āĻāĻ• āĻļāĻŦā§āĻĻ⧇āϰ āĻŦāĻĻāϞāϟāĻžāχāĨ¤ āĻ“ āϝāĻĻāĻŋ const price = 450; āϞāĻŋāĻ–āϤ, āϤāĻžāĻšāϞ⧇ āϝ⧇ āϞāĻžāχāύ sale-āĻāϰ āĻĻāĻžāĻŽāϟāĻž āĻ“āϤ⧇ āϞāĻŋāϖ⧇āĻ›āĻŋāϞ, program āĻ āĻŋāĻ• āϏ⧇āĻ–āĻžāύ⧇āχ āĻĨ⧇āĻŽā§‡ āϝ⧇āϤāĨ¤ const-āϕ⧇ value-āϟāĻžāĻ“ āϏāĻ™ā§āϗ⧇ āϏāĻ™ā§āϗ⧇ āĻĻāĻŋāϤ⧇ āĻšāϝāĻŧ: āĻļ⧁āϧ⧁ const rate; āϞāĻŋāĻ–āϞ⧇ program āĻļ⧁āϰ⧁āϰ āφāϗ⧇āχ āĻĨ⧇āĻŽā§‡ āϝāĻžāϝāĻŧ, āĻāχ message āĻĻāĻŋāϝāĻŧ⧇: SyntaxError: Missing initializer in const declarationāĨ¤

āϤāĻžāχ const āĻāĻ•āϟāĻž āĻ•āĻĨāĻž āĻĻ⧇āĻ“āϝāĻŧāĻž, āφāϰ engine āϤ⧋āĻŽāĻžāϕ⧇ āϏ⧇āχ āĻ•āĻĨāĻž āϰāĻžāĻ–āϤ⧇ āĻŦāĻžāĻ§ā§āϝ āĻ•āϰ⧇: āĻāχ āύāĻžāĻŽ āϤāĻžāϰ āĻĒā§āϰāĻĨāĻŽ value-āϟāĻžāχ āϰāĻžāĻ–āĻŦ⧇āĨ¤

āϕ⧋āύāϟāĻž āύ⧇āĻŦ⧇

āĻāχ track āϝ⧇ āύāĻŋāϝāĻŧāĻŽ āĻŽāĻžāύ⧇, āφāϰ āĻŦ⧇āĻļāĻŋāϰāĻ­āĻžāĻ— team-āĻ“ āϤāĻžāχ āĻŽāĻžāύ⧇, āϤāĻžāϰ āĻĻ⧁āχāϟāĻž āϧāĻžāĻĒāĨ¤

  1. āφāϗ⧇ const āϞ⧇āĻ–ā§‹āĨ¤
  2. Program-āϕ⧇ āϝāĻ–āύ āĻ“āχ āύāĻžāĻŽā§‡ āϏāĻ¤ā§āϝāĻŋāχ āύāϤ⧁āύ value āĻĻāĻŋāϤ⧇ āĻšāĻŦ⧇, āĻļ⧁āϧ⧁ āϤāĻ–āύāχ āϏ⧇āϟāĻž let āĻ•āϰ⧋: āĻāĻ•āϟāĻž counter, āϚāϞāϤāĻŋ āϝ⧋āĻ—āĻĢāϞ, āĻāĻ–āύ āĻĒāĻ°ā§āϝāĻ¨ā§āϤ āϏ⧇āϰāĻž scoreāĨ¤

āĻāĻ•āϟāĻž program-āĻāϰ āĻŦ⧇āĻļāĻŋāϰāĻ­āĻžāĻ— āύāĻžāĻŽ āĻ•āĻ–āύ⧋ āĻŦāĻĻāϞāĻžāϝāĻŧ āύāĻžāĨ¤ āĻāĻ•āϟāĻž āĻĻāĻžāĻŽ, input āĻĨ⧇āϕ⧇ āĻĒāĻĄāĻŧāĻž āĻāĻ•āϟāĻž āύāĻžāĻŽ, āĻŦāĻž āĻāĻ•āϟāĻž āϝ⧋āĻ—āĻĢāϞ, āĻĒā§āϰāϤāĻŋāϟāĻž āĻāĻ•āĻŦāĻžāϰāχ āĻšāĻŋāϏāĻžāĻŦ āĻšāϝāĻŧāĨ¤ const āĻĒāϰ⧇āϰ āĻĒāĻžāĻ āĻ•āϕ⧇, āϝ⧇ āĻĒā§āϰāĻžāϝāĻŧāχ āĻāĻ• āĻŽāĻžāϏ āĻĒāϰ⧇āϰ āϤ⧁āĻŽāĻŋ āύāĻŋāĻœā§‡, āĻŦāϞ⧇ āĻĻ⧇āϝāĻŧ āϝ⧇ āĻŦāĻĻāϞ āĻ–ā§‹āρāϜāĻžāϰ āĻĻāϰāĻ•āĻžāϰ āύ⧇āχāĨ¤ let āĻŦāϞ⧇ "āĻāϟāĻžāϰ āĻĻāĻŋāϕ⧇ āĻšā§‹āĻ– āϰāĻžāĻ–ā§‹, āĻāϟāĻž āύāĻĄāĻŧ⧇"āĨ¤ āϤāĻžāχ const āĻšāϞ⧋ default, āφāϰ āĻĒā§āϰāϤāĻŋāϟāĻž let āĻāĻ•āϟāĻž āϏāĻ‚āϕ⧇āϤāĨ¤

Copy āĻšāϝāĻŧ, āĻŦāĻžāĻ•ā§āϏ āĻ­āĻžāĻ—āĻžāĻ­āĻžāĻ—āĻŋ āĻšāϝāĻŧ āύāĻž

Variable-āϕ⧇ āĻ­āĻžāĻŦā§‹ āĻāĻ•āϟāĻž āĻŦāĻžāĻ•ā§āϏ āĻšāĻŋāϏ⧇āĻŦ⧇, āĻ—āĻžāϝāĻŧ⧇ āύāĻžāĻŽā§‡āϰ āϞ⧇āĻŦ⧇āϞ, āϭ⧇āϤāϰ⧇ āĻāĻ•āϟāĻž valueāĨ¤ āϝāĻ–āύ āϞ⧇āĻ–ā§‹ let copy = price;, engine price-āĻāϰ āϭ⧇āϤāϰ⧇ āϤāĻžāĻ•āĻžāϝāĻŧ, āφāϰ āĻāĻ•āχ āϏāĻ‚āĻ–ā§āϝāĻžāϟāĻž copy āύāĻžāĻŽā§‡āϰ āĻāĻ•āϟāĻž āύāϤ⧁āύ āĻŦāĻžāĻ•ā§āϏ⧇ āϰāĻžāϖ⧇āĨ¤ āϤāĻ–āύ āĻĨ⧇āϕ⧇ āĻŦāĻžāĻ•ā§āϏ āĻĻ⧁āχāϟāĻž āφāϞāĻžāĻĻāĻžāĨ¤

āĻ›āϝāĻŧāϟāĻž āϞāĻžāχāύ, āĻĒā§āϰāϤāĻŋāϟāĻžāϰ āĻĒāϰ⧇ āĻŦāĻžāĻ•ā§āϏ⧇āϰ āĻāĻ•āϟāĻž āĻ›āĻŦāĻŋāĨ¤ price āĻĒāĻžāϝāĻŧ 120, āφāϰ copy āĻĒāĻžāϝāĻŧ āύāĻŋāĻœā§‡āϰ āĻāĻ•āϟāĻž 120āĨ¤ copy āĻŦāĻĻāϞ⧇ 99 āĻšāϝāĻŧ, price āĻĨāĻžāϕ⧇ 120āĨ¤ price āĻŦāĻĻāϞ⧇ 150 āĻšāϝāĻŧ, copy āĻĨāĻžāϕ⧇ 99āĨ¤ const āĻŦāĻžāĻ•ā§āϏ rate āĻĒāĻžāϝāĻŧ 5āĨ¤ rate-āĻ 6 āϰāĻžāĻ–āĻžāϰ āĻšā§‡āĻˇā§āϟāĻžāϝāĻŧ program āĻĨ⧇āĻŽā§‡ āϝāĻžāϝāĻŧ, āĻāχ message āĻĻāĻŋāϝāĻŧ⧇: TypeError: Assignment to constant variable.

āϞāĻžāχāύ 5-āĻāϰ āĻĒāϰ⧇, āĻŽāĻžāύ⧇ āĻļ⧇āώ āϝ⧇ āϞāĻžāχāύāϟāĻž āĻĒ⧁āϰ⧋āĻĒ⧁āϰāĻŋ āϚāϞāϤ⧇ āĻĒāĻžāϰ⧇ āϤāĻžāϰ āĻĒāϰ⧇, āĻŦāĻžāĻ•ā§āϏāϗ⧁āϞ⧋ āĻāĻ•āϟāĻž āĻ›āĻŦāĻŋāϤ⧇ āĻāϰāĻ•āĻŽāĨ¤

āφāϞāĻžāĻĻāĻž āĻŦāĻžāĻ•ā§āϏ: copy āĻāĻ•āĻž āĻŦāĻĻāϞāĻžāϝāĻŧ, āφāϰ const āĻŦāĻžāĻ•ā§āϏ āύāϤ⧁āύ value āύāĻŋāϤ⧇ āĻŽāĻžāύāĻž āĻ•āϰ⧇ āϞāĻžāχāύ 5-āĻāϰ āĻĒāϰ⧇ āĻŦāĻžāĻ•ā§āϏāϗ⧁āϞ⧋ let price 150 let copy 99 const rate (āϤāĻžāϞāĻž āĻĻ⧇āĻ“āϝāĻŧāĻž) 5 6 āϞāĻžāχāύ 2-āĻ copy āĻ­āϰāĻž āĻšāϝāĻŧ⧇āĻ›āĻŋāϞ price āĻĨ⧇āϕ⧇, āϤāĻžāϰāĻĒāϰ āϏ⧇ āĻāĻ•āĻž āĻŦāĻĻāϞ⧇āϛ⧇: āĻĻ⧁āχāϟāĻž āĻŦāĻžāĻ•ā§āϏ, āĻĻ⧁āχāϟāĻž valueāĨ¤ āϞāĻžāχāύ 6 rate-āĻ 6 āϰāĻžāĻ–āϤ⧇ āϚāĻžāϝāĻŧ: TypeError: Assignment to constant variable.

āϤāĻžāχ let copy = price āϏāĻ‚āĻ–ā§āϝāĻžāϟāĻž copy āĻ•āϰ⧇, āφāϰ āĻāĻ•āϟāĻž āĻŦāĻžāĻ•ā§āϏ āĻŦāĻĻāϞāĻžāϞ⧇ āĻ…āĻ¨ā§āϝāϟāĻž āĻ•āĻ–āύ⧋ āĻŦāĻĻāϞāĻžāϝāĻŧ āύāĻžāĨ¤ Object-āĻāϰ āφāϚāϰāĻŖ āϝ⧇ āφāϞāĻžāĻĻāĻž, āϏ⧇āϟāĻž āĻĻ⧇āĻ–āĻžāĻŦ⧇ Module 8, āφāϰ āϤ⧁āϞāύāĻžāϟāĻž āĻšāĻŦ⧇ āĻāχ āĻ›āĻŦāĻŋāϰ āϏāĻ™ā§āϗ⧇āχāĨ¤

āύāĻžāĻŽ āĻĻ⧇āĻ“āϝāĻŧāĻž: āύāĻŋāϝāĻŧāĻŽ āφāϰ āĻ…āĻ­ā§āϝāĻžāϏ

āύāĻžāĻŽā§‡ āĻĨāĻžāĻ•āϤ⧇ āĻĒāĻžāϰ⧇ āĻ…āĻ•ā§āώāϰ, āĻ…āĻ™ā§āĻ•, _ āφāϰ $āĨ¤ āύāĻžāĻŽāϟāĻž āĻ…āĻ™ā§āĻ• āĻĻāĻŋāϝāĻŧ⧇ āĻļ⧁āϰ⧁ āĻšāϤ⧇ āĻĒāĻžāϰ⧇ āύāĻž, āϭ⧇āϤāϰ⧇ space āĻŦāĻž hyphen āĻĨāĻžāĻ•āϤ⧇ āĻĒāĻžāϰ⧇ āύāĻž, āφāϰ āϏ⧇āϟāĻž āϕ⧋āύ⧋ keyword āĻšāϤ⧇ āĻĒāĻžāϰ⧇ āύāĻž, āϝ⧇āĻŽāύ let, const, class āĻŦāĻž newāĨ¤ āĻŦāĻĄāĻŧ āĻšāĻžāϤ⧇āϰ āĻ…āĻ•ā§āώāϰāĻ“ āĻšāĻŋāϏāĻžāĻŦ⧇ āϧāϰāĻž āĻšāϝāĻŧ: userName āφāϰ username āĻĻ⧁āχāϟāĻž āφāϞāĻžāĻĻāĻž āύāĻžāĻŽāĨ¤

āύāĻžāĻŽāϚāϞāĻŦ⧇?Node 22 āϕ⧀ āĻŦāϞ⧇
totalPriceāĻšā§āϝāĻžāρ
item2, _count, $rateāĻšā§āϝāĻžāρ
2ndItemāύāĻž, āĻ…āĻ™ā§āĻ• āĻĻāĻŋāϝāĻŧ⧇ āĻļ⧁āϰ⧁SyntaxError: Invalid or unexpected token
first-nameāύāĻž, hyphen āĻŽāĻžāύ⧇ minusSyntaxError: Unexpected token '-'
first nameāύāĻž, space āύāĻžāĻŽāϟāĻž āĻļ⧇āώ āĻ•āϰ⧇ āĻĻ⧇āϝāĻŧSyntaxError: Unexpected identifier 'name'
classāύāĻž, āĻāϟāĻž keywordSyntaxError: Unexpected token 'class'

āύāĻŋāϝāĻŧāĻŽā§‡āϰ āĻŦāĻžāχāϰ⧇ JavaScript-āĻāϰ āĻāĻ•āϟāĻž āĻĒāĻžāĻ•āĻž āĻ…āĻ­ā§āϝāĻžāϏ āφāϛ⧇: camelCaseāĨ¤ āĻĒā§āϰāĻĨāĻŽ āĻļāĻŦā§āĻĻ āϛ⧋āϟ āĻšāĻžāϤ⧇āϰ, āφāϰ āĻĒāϰ⧇āϰ āĻĒā§āϰāϤāĻŋāϟāĻž āĻļāĻŦā§āĻĻ āĻļ⧁āϰ⧁ āĻšāϝāĻŧ āĻŦāĻĄāĻŧ āĻšāĻžāϤ⧇āϰ āĻ…āĻ•ā§āώāϰ⧇, āϝ⧇āĻŽāύ totalPrice āĻŦāĻž itemsInCartāĨ¤ āĻ­āĻžāώāĻžāϰ āύāĻŋāĻœā§‡āϰ āύāĻžāĻŽāϗ⧁āϞ⧋āĻ“ āĻāϟāĻž āĻŽāĻžāύ⧇: console.log, Math.floor, āφāϰ āĻĒāϰ⧇ toFixed āφāϰ padStartāĨ¤ āĻĒ⧁āϰ⧋ program āϜ⧁āĻĄāĻŧ⧇ āĻŦāĻžāρāϧāĻž āĻĨāĻžāϕ⧇ āĻāĻŽāύ value-āϰ āĻ…āĻ­ā§āϝāĻžāϏāϟāĻž āϝ⧋āĻ— āĻ•āϰāĻŦ⧇ lesson 06āĨ¤

āϭ⧁āϞ āĻŦāĻžāύāĻžāύ⧇āϰ āύāĻžāĻŽ āϕ⧋āύ⧋ syntax error āύāĻžāĨ¤ Program āĻļ⧁āϰ⧁ āĻšāϝāĻŧ, āĻ“āχ āϞāĻžāχāύ āĻĒāĻ°ā§āϝāĻ¨ā§āϤ āϚāϞ⧇, āϤāĻžāϰāĻĒāϰ āĻ“āĻ–āĻžāύ⧇āχ āĻĨāĻžāĻŽā§‡āĨ¤

let userName = "Bob";
console.log(username);

Message-āϟāĻž āĻšāϞ⧋ ReferenceError: username is not definedāĨ¤ "Not defined" āĻŽāĻžāύ⧇ āĻšā§āĻŦāĻšā§ āĻ“āχ āύāĻžāĻŽāϟāĻž āϕ⧋āύ⧋ declaration āĻŦāĻžāύāĻžāϝāĻŧāύāĻŋāĨ¤ āϤāĻžāχ āύāĻžāĻŽ āĻŽāĻžāύ⧇ āĻ…āĻ•ā§āώāϰ, āĻ…āĻ™ā§āĻ•, _ āφāϰ $, āĻĒā§āϰāϤāĻŋāĻŦāĻžāϰ āĻāĻ•āχ āĻŦāĻžāύāĻžāύ⧇, camelCase-āĻāĨ¤

var, āĻĒ⧁āϰ⧋āύ⧋ āĻ•āĻžāϝāĻŧāĻĻāĻž

2015-āĻāϰ āφāϗ⧇ variable-āĻāϰ āϜāĻ¨ā§āϝ JavaScript-āĻāϰ keyword āĻ›āĻŋāϞ āĻāĻ•āϟāĻžāχ: varāĨ¤ āĻĒ⧁āϰ⧋āύ⧋ tutorial-āĻ, online-āĻāϰ āωāĻ¤ā§āϤāϰ⧇, āφāϰ āϤ⧋āĻŽāĻžāϰ āĻšā§‡āϝāĻŧ⧇āĻ“ āĻŦāϝāĻŧāϏ⧇ āĻŦāĻĄāĻŧ code-āĻ āĻāϟāĻž āĻĻ⧇āĻ–āĻŦ⧇āĨ¤ Bob āĻāϟāĻž copy āĻ•āϰ⧇āϛ⧇ 2012-āϰ āĻāĻ•āϟāĻž tutorial āĻĨ⧇āϕ⧇āĨ¤

var price = 450;
var price = 405;
console.log(price);
405

var āĻĻāĻŋāϝāĻŧ⧇ āĻāĻ•āχ āύāĻžāĻŽ āĻĻ⧁āχāĻŦāĻžāϰ declare āĻ•āϰāϞ⧇ āϕ⧋āύ⧋ message-āχ āφāϏ⧇ āύāĻž, āφāϰ āĻĻā§āĻŦāĻŋāϤ⧀āϝāĻŧ āϞāĻžāχāύāϟāĻž āϚ⧁āĻĒāϚāĻžāĻĒ āϜāĻŋāϤ⧇ āϝāĻžāϝāĻŧāĨ¤ var-āĻāϰ āĻŦāĻžāύāĻžāύ⧋ āύāĻžāĻŽ program-āĻāϰ āϭ⧇āϤāϰ⧇ āϤ⧁āĻŽāĻŋ āϝāϤāϟāĻž āĻ­āĻžāĻŦā§‹ āϤāĻžāϰ āĻšā§‡āϝāĻŧ⧇ āĻŦ⧇āĻļāĻŋ āĻĻā§‚āϰ āĻĒ⧌āρāĻ›āĻžāϝāĻŧ, āφāϰ āϝ⧇ āϞāĻžāχāύ āĻ“āϟāĻž declare āĻ•āϰ⧇, āϤāĻžāϰ āφāϗ⧇ āĻĨ⧇āϕ⧇āχ āĻ“āϟāĻž āĻĨāĻžāϕ⧇āĨ¤ āĻĻ⧁āχāϟāĻžāχ āĻŦ⧁āĻāĻŋāϝāĻŧ⧇ āĻŦāϞāĻŦ⧇ Module 6, function scope āφāϰ hoisting āύāĻžāĻŽā§‡āĨ¤ āĻ“āχ āϚāĻŽāĻ•āϗ⧁āϞ⧋ āϏāĻžāϰāĻžāϤ⧇āχ ES2015 let āφāϰ const āĻāύ⧇āĻ›āĻŋāϞāĨ¤ āϤāĻžāχ āĻāχ track āĻ•āĻ–āύ⧋ var āϞ⧇āϖ⧇ āύāĻž, āφāϰ āϕ⧋āĻĨāĻžāĻ“ āĻĻ⧇āĻ–āϞ⧇ āĻ“āϟāĻžāϕ⧇ āĻĒ⧁āϰ⧋āύ⧋ āĻāĻ•āϟāĻž let āĻšāĻŋāϏ⧇āĻŦ⧇ āĻĒāĻĄāĻŧā§‹āĨ¤

Example 1: āύāĻžāĻŽā§‡āϰ āϏāĻŦāĻšā§‡āϝāĻŧ⧇ āϛ⧋āϟ āĻŦā§āϝāĻŦāĻšāĻžāϰ

Zara āύāĻŋāĻœā§‡āϰ āύāĻžāĻŽāϟāĻž āĻāĻ•āĻŦāĻžāϰ āϰāĻžāϖ⧇, āφāϰ āĻĻ⧁āχāĻŦāĻžāϰ āĻ›āĻžāĻĒ⧇āĨ¤

const name = "Zara";
console.log("Hello,", name);
console.log(name, "has 3 problems left.");
Hello, Zara
Zara has 3 problems left.

"Zara" āĻŦāĻĻāϞ⧇ āĻ…āĻ¨ā§āϝ āĻāĻ•āϟāĻž āύāĻžāĻŽ āĻĻāĻžāĻ“, āĻĻ⧁āχāϟāĻž āϞāĻžāχāύāχ āĻĒāĻŋāϛ⧁ āύ⧇āĻŦ⧇āĨ¤ āύāĻžāĻŽā§‡āϰ āφāϏāϞ āϞāĻžāĻ­ āĻāϟāĻžāχ: āĻŦāĻĻāϞāĻžāύ⧋āϰ āϜāĻžāϝāĻŧāĻ—āĻž āĻāĻ•āϟāĻžāχāĨ¤

Run in Compiler
Example 2: let āĻĻāĻŋāϝāĻŧ⧇ āĻāĻ•āϟāĻž counter

āĻāĻ•āϟāĻž āϜāĻžāĻĻ⧁āϘāϰ⧇āϰ āĻĻāϰāϜāĻž visitor āĻ—ā§‹āύ⧇āĨ¤ āĻĒā§āϰāϤāĻŋāϜāύ āĻāϞ⧇ āĻāĻ• āĻŦāĻžāĻĄāĻŧ⧇, āϤāĻžāχ āĻ—ā§‹āύāĻžāϟāĻž āĻŦāĻĻāϞāĻžāϤ⧇āχ āĻšāĻŦ⧇, āφāϰ āĻ āĻŋāĻ• keyword āĻšāϞ⧋ letāĨ¤

let visitors = 0;
visitors = visitors + 1;
visitors = visitors + 1;
visitors = visitors + 1;
console.log("Visitors so far:", visitors);
Visitors so far: 3

āĻĒā§āϰāϤāĻŋāϟāĻž āϞāĻžāχāύ āĻĒ⧁āϰ⧋āύ⧋ āĻ—ā§‹āύāĻžāϟāĻž āĻĒāĻĄāĻŧ⧇, āφāϰ āĻāĻ• āĻŦ⧇āĻļāĻŋ āϰāĻžāϖ⧇āĨ¤ Module 4-āĻāϰ loop āĻāϰāĻ•āĻŽ āĻāĻ•āϟāĻž āϞāĻžāχāύ āϤ⧋āĻŽāĻžāϰ āĻšāϝāĻŧ⧇ āĻŦāĻžāϰāĻŦāĻžāϰ āϚāĻžāϞāĻžāĻŦ⧇; āĻāĻ–āĻžāύ⧇ āϏ⧇āϟāĻž āϤāĻŋāύāĻŦāĻžāϰ āĻšāĻžāϤ⧇ āϞ⧇āĻ–āĻžāĨ¤

Run in Compiler
Example 3: Bob-āĻāϰ program, const āĻĻāĻŋāϝāĻŧ⧇ āϏāĻžāϰāĻžāύ⧋

Bob āĻĻāĻžāĻŽ āφāϰ āĻ›āĻžāĻĄāĻŧ āĻĻ⧁āχāϟāĻžāχ āĻŦāĻžāρāϧāĻž āϰāĻžāϖ⧇, āφāϰ sale-āĻāϰ āĻĻāĻžāĻŽāϕ⧇ āĻĻ⧇āϝāĻŧ āϤāĻžāϰ āύāĻŋāĻœā§‡āϰ āĻāĻ•āϟāĻž āύāĻžāĻŽāĨ¤

const price = 450;
const discount = 45;
const salePrice = price - discount;
console.log("Price:", price);
console.log("Sale price:", salePrice);
console.log("Stock value of 10 bags:", price * 10);
Price: 450
Sale price: 405
Stock value of 10 bags: 4500

Stock-āĻāϰ āĻšāĻŋāϏāĻžāĻŦ āĻāĻ–āύ⧋ āφāϏāϞ āĻĻāĻžāĻŽāϟāĻžāχ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇, āĻ•āĻžāϰāĻŖ āĻ“āϟāĻž āĻŦāĻĻāϞāĻžāύ⧋āϰ āϕ⧋āύ⧋ āωāĻĒāĻžāϝāĻŧāχ āĻ›āĻŋāϞ āύāĻžāĨ¤ āύāϤ⧁āύ value āĻĒ⧁āϰ⧋āύ⧋āϟāĻžāϰ āωāĻĒāϰ āύāĻž āϞāĻŋāϖ⧇ āĻĒ⧇āϝāĻŧ⧇āϛ⧇ āύāϤ⧁āύ āĻāĻ•āϟāĻž āύāĻžāĻŽāĨ¤ āĻāχ āĻ…āĻ­ā§āϝāĻžāϏ āĻāĻ• āĻ—ā§‹āϟāĻž āĻĒāϰāĻŋāĻŦāĻžāϰ⧇āϰ bug āϏāϰāĻŋāϝāĻŧ⧇ āĻĻ⧇āϝāĻŧāĨ¤

Run in Compiler
Example 4: āϧāĻžāĻĒ⧇ āϧāĻžāĻĒ⧇ āύāĻžāĻŽ āĻĻ⧇āĻ“āϝāĻŧāĻž āĻāĻ•āϟāĻž āϰ⧂āĻĒāĻžāĻ¨ā§āϤāϰ

Maria āĻāĻ•āϟāĻž āϤāĻžāĻĒāĻŽāĻžāĻ¤ā§āϰāĻž Celsius āĻĨ⧇āϕ⧇ Fahrenheit-āĻ āĻŦāĻĻāϞāĻžāϝāĻŧ, āφāϰ āϏ⧂āĻ¤ā§āϰ⧇āϰ āĻĒā§āϰāϤāĻŋāϟāĻž āĻ…āĻ‚āĻļ⧇āϰ āĻāĻ•āϟāĻž āĻ•āϰ⧇ āύāĻžāĻŽ āĻĻ⧇āϝāĻŧāĨ¤

const celsius = 30;
const scaled = celsius * 9 / 5;
const fahrenheit = scaled + 32;
console.log(celsius, "C is", fahrenheit, "F");
30 C is 86 F

āĻāĻ–āĻžāύ⧇ āĻĒā§āϰāϤāĻŋāϟāĻž āύāĻžāĻŽāχ const, āĻ•āĻžāϰāĻŖ āĻ•āĻŋāϛ⧁āχ āĻĻ⧁āχāĻŦāĻžāϰ āĻšāĻŋāϏāĻžāĻŦ āĻšāϝāĻŧ āύāĻžāĨ¤ Maria āϜāĻžāύāϤ⧇ āϚāĻžāϝāĻŧ, scaled-āĻāϰ āύāĻžāĻŽ āϞāĻžāĻ—āĻŦ⧇ āϕ⧇āύāĨ¤ āϞāĻžāϗ⧇ āύāĻž; āĻāĻ• āϞāĻžāχāύ⧇ celsius * 9 / 5 + 32 āϞāĻŋāĻ–āϞ⧇āĻ“ āĻāĻ•āχ 86 āφāϏ⧇āĨ¤ āύāĻžāĻŽ āϝ⧋āĻ— āĻ•āϰāĻž āϤāĻ–āύāχ āϞāĻžāϭ⧇āϰ, āϝāĻ–āύ āϤāĻžāϤ⧇ āϞāĻŽā§āĻŦāĻž āĻāĻ•āϟāĻž āϏ⧂āĻ¤ā§āϰ āϧāĻžāĻĒ⧇ āϧāĻžāĻĒ⧇ āĻĒāĻĄāĻŧāĻž āϝāĻžāϝāĻŧāĨ¤

Run in Compiler

āĻāϟāĻž āϕ⧋āĻĨāĻžāϝāĻŧ āĻ•āĻžāĻœā§‡ āϞāĻžāϗ⧇

  • Airbnb JavaScript Style Guide. āĻāϰ reference-āĻāϰ āύāĻŋāϝāĻŧāĻŽāϗ⧁āϞ⧋ āĻŦāϞ⧇, āϏāĻŦ reference-āĻāϰ āϜāĻ¨ā§āϝ const, āĻļ⧁āϧ⧁ āφāĻŦāĻžāϰ assign āĻ•āϰāϤ⧇āχ āĻšāϞ⧇ let, āφāϰ āĻ•āĻ–āύ⧋ var āύāĻžāĨ¤ ESLint āĻāĻ•āϟāĻž shared config package āĻĻāĻŋāϝāĻŧ⧇ āĻĒ⧁āϰ⧋ guide-āϟāĻž āĻŽāĻžāύāϤ⧇ āĻŦāĻžāĻ§ā§āϝ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤
  • Google JavaScript Style Guide. āĻāϟāĻž default āĻšāĻŋāϏ⧇āĻŦ⧇ āϚāĻžāϝāĻŧ const, variable āφāĻŦāĻžāϰ assign āĻšāϞ⧇ let, āφāϰ var āύāĻŋāώ⧇āϧāĨ¤
  • ESLint. āĻŦ⧇āĻļāĻŋāϰāĻ­āĻžāĻ— team āύāĻŋāĻœā§‡āĻĻ⧇āϰ code-āĻ āϝ⧇ checker āϚāĻžāϞāĻžāϝāĻŧ, āϤāĻžāϤ⧇ āĻāχ lesson-āĻāϰ āϜāĻ¨ā§āϝ āĻĻ⧁āχāϟāĻž built-in rule āφāϛ⧇āĨ¤ prefer-const āĻāĻŽāύ let āϧāϰāĻŋāϝāĻŧ⧇ āĻĻ⧇āϝāĻŧ, āϝ⧇āϟāĻž āĻ•āĻ–āύ⧋ āφāĻŦāĻžāϰ assign āĻšāϝāĻŧ āύāĻž, āφāϰ no-var āϧāϰāĻŋāϝāĻŧ⧇ āĻĻ⧇āϝāĻŧ āĻĒā§āϰāϤāĻŋāϟāĻž varāĨ¤

āϝ⧇ āϭ⧁āϞāϗ⧁āϞ⧋ āϏāĻŦāĻžāχ āĻ•āϰ⧇

ā§§. const āĻŦāĻĻāϞāĻžāύ⧋āĨ¤

const total = 0;
total = total + 120;

TypeError: Assignment to constant variable., āϞāĻžāχāύ 2-āĻ, āϞāĻžāχāύ 1 āϚāϞāĻžāϰ āĻĒāϰ⧇āĨ¤ total += 120 āϞāĻŋāĻ–āϞ⧇āĻ“ āĻāĻ•āχ message, āĻ•āĻžāϰāĻŖ āĻ“āϟāĻžāĻ“ āĻāĻ•āϟāĻž assignmentāĨ¤ āϚāϞāϤāĻŋ āϝ⧋āĻ—āĻĢāϞ āĻŦāĻĻāϞāĻžāϝāĻŧ, āϤāĻžāχ āĻ“āϰ āϞāĻžāϗ⧇ letāĨ¤ āĻāĻ–āĻžāύ⧇ āϤ⧁āĻŽāĻŋ const-āχ āϞāĻŋāĻ–āĻŦ⧇, āĻ•āĻžāϰāĻŖ āύāĻŋāϝāĻŧāĻŽ āĻŦāϞ⧇ āφāϗ⧇ const, āφāϰ āύāĻŋāϝāĻŧāĻŽāϟāĻž āĻ āĻŋāĻ•āχ: engine āĻļ⧁āϧ⧁ āϜāĻžāύāĻŋāϝāĻŧ⧇ āĻĻāĻŋāϞ āϝ⧇ āĻāχ āύāĻžāĻŽāϟāĻž āĻŦā§āϝāϤāĻŋāĻ•ā§āϰāĻŽāĨ¤

⧍. Value āĻ›āĻžāĻĄāĻŧāĻž constāĨ¤

const rate;
rate = 15;

SyntaxError: Missing initializer in const declaration, āϕ⧋āύ⧋ āϞāĻžāχāύ āϚāϞāĻžāϰ āφāϗ⧇āχāĨ¤ const āϤāĻžāϰ value āĻĒāĻžāϝāĻŧ āϝ⧇ āϞāĻžāχāύ⧇ āϏ⧇ āϤ⧈āϰāĻŋ āĻšāϝāĻŧ āϏ⧇āχ āϞāĻžāχāύ⧇āχ, āύāϝāĻŧāϤ⧋ āĻ•āĻ–āύ⧋āχ āύāĻžāĨ¤ āϞ⧇āĻ–ā§‹ const rate = 15;āĨ¤ āϤ⧁āĻŽāĻŋ āĻĻ⧁āχāϟāĻž āφāϞāĻžāĻĻāĻž āĻ•āϰāĻŦ⧇, āĻ•āĻžāϰāĻŖ value-āϟāĻž āϤāĻ–āύ⧋ āϤ⧋āĻŽāĻžāϰ āϜāĻžāύāĻž āύ⧇āχ; āϏ⧇āĻ•ā§āώ⧇āĻ¤ā§āϰ⧇ āĻ“āϟāĻž āφāϏāϞ⧇ āĻāĻ•āϟāĻž letāĨ¤

ā§Š. āĻāĻ•āχ āύāĻžāĻŽ āĻĻ⧁āχāĻŦāĻžāϰ declare āĻ•āϰāĻžāĨ¤

let price = 450;
let price = 405;

SyntaxError: Identifier 'price' has already been declared, āϕ⧋āύ⧋ āϞāĻžāχāύ āϚāϞāĻžāϰ āφāϗ⧇āχāĨ¤ Identifier āĻšāϞ⧋ āύāĻžāĻŽā§‡āϰ āϜāĻ¨ā§āϝ āĻ­āĻžāώāĻžāϟāĻžāϰ āύāĻŋāĻœā§‡āϰ āĻļāĻŦā§āĻĻāĨ¤ Value āĻŦāĻĻāϞāĻžāϤ⧇ āĻĻā§āĻŦāĻŋāϤ⧀āϝāĻŧ let-āϟāĻž āĻŦāĻžāĻĻ āĻĻāĻžāĻ“: price = 405;āĨ¤ āϤ⧁āĻŽāĻŋ keyword-āϟāĻž āφāĻŦāĻžāϰ āϞāĻŋāĻ–āĻŦ⧇, āĻ•āĻžāϰāĻŖ āĻĒā§āϰāĻĨāĻŽ āϞāĻžāχāύ⧇ āĻ“āϟāĻž āĻ›āĻŋāϞ, āφāϰ āĻŽāύ⧇ āĻšāϝāĻŧ⧇āĻ›āĻŋāϞ āĻ“āϟāĻž āύāĻžāĻŽā§‡āϰāχ āĻ…āĻ‚āĻļāĨ¤

ā§Ē. āĻŦāĻĄāĻŧ āĻšāĻžāϤ⧇āϰ āĻ…āĻ•ā§āώāϰ āφāϞāĻžāĻĻāĻž, āĻāĻŽāύ āύāĻžāĻŽāĨ¤

const itemCount = 3;
console.log(itemcount);

ReferenceError: itemcount is not definedāĨ¤ JavaScript-āĻāϰ āĻ•āĻžāϛ⧇ itemCount āφāϰ itemcount āĻĻ⧁āχāϜāύ āĻ…āĻšā§‡āύāĻž āϞ⧋āĻ•āĨ¤ āύāĻžāĻŽ āφāĻŦāĻžāϰ āϟāĻžāχāĻĒ āύāĻž āĻ•āϰ⧇ copy āĻ•āϰ⧋, āφāϰ camelCase āĻŽā§‡āύ⧇ āϚāϞ⧋, āϤāĻžāĻšāϞ⧇ āĻŦāĻĄāĻŧ āĻšāĻžāϤ⧇āϰ āĻ…āĻ•ā§āώāϰ āϕ⧋āĻĨāĻžāϝāĻŧ āĻŦāϏ⧇ āϏ⧇āϟāĻž āϜāĻžāύāĻž āĻĨāĻžāĻ•āĻŦ⧇āĨ¤

āĻŽāĻžāĻĨāĻž āĻ–āĻžāϟāĻžāĻ“

Maria āĻāχāĻŽāĻžāĻ¤ā§āϰ āĻļāĻŋāϖ⧇āϛ⧇, const āύāϤ⧁āύ value āύāĻŋāϤ⧇ āĻŽāĻžāύāĻž āĻ•āϰ⧇āĨ¤ āϤāĻžāϰāĻĒāϰ āϏ⧇ āĻāϟāĻž āϚāĻžāϞāĻžāϝāĻŧ, āφāϰ āĻāϟāĻž āϚāϞ⧇ āϝāĻžāϝāĻŧāĨ¤

const list = [1, 2];
list.push(3);
console.log(list);

āĻāϟāĻž āϕ⧋āύ⧋ error āĻ›āĻžāĻĄāĻŧāĻžāχ āĻ›āĻžāĻĒ⧇ [ 1, 2, 3 ]āĨ¤ [1, 2] āĻšāϞ⧋ value-āϰ āĻāĻ•āϟāĻž āϤāĻžāϞāĻŋāĻ•āĻž, āϝāĻžāϕ⧇ āĻŦāϞ⧇ array (Module 7), āφāϰ push āϤāĻžāϰ āĻļ⧇āώ⧇ āĻāĻ•āϟāĻž āϝ⧋āĻ— āĻ•āϰ⧇āĨ¤ const āĻ•āĻŋ āϤāĻžāϰ āĻ•āĻĨāĻž āĻ­āĻžāĻ™āϞ? āĻ•āĻĨāĻžāϟāĻž āφāϏāϞ⧇ āĻ āĻŋāĻ• āϕ⧀ āύāĻŋāϝāĻŧ⧇ āĻ›āĻŋāϞ?

āĻĒā§āϰāĻĨāĻŽ āϞāĻžāχāύ⧇āϰ āĻĒāϰ⧇ āĻāĻ•āϟāĻž = āĻ–ā§‹āρāĻœā§‹āĨ¤ "const: āϝ⧇ āύāĻžāĻŽ āϤāĻžāϰ value āϧāϰ⧇ āϰāĻžāϖ⧇" āĻ…āĻ‚āĻļ⧇ engine āϕ⧀ āĻ•āϰāϤ⧇ āĻŽāĻžāύāĻž āĻ•āϰ⧇āĻ›āĻŋāϞ, āφāϰ āϏ⧇āϟāĻž āĻ•āĻŋ āĻāĻ–āĻžāύ⧇ āϘāϟāϛ⧇?

āĻ…āύ⧁āĻļā§€āϞāύ ā§§āϏāĻšāϜ

Amara āĻĄā§āϰāĻŋāĻ‚āĻ•āϗ⧁āϞ⧋ āϭ⧁āϞ āĻŸā§‡āĻŦāĻŋāϞ⧇ āĻĻāĻŋāϝāĻŧ⧇ āĻĢ⧇āϞ⧇āϛ⧇: left-āĻ āφāϛ⧇ "tea", āφāϰ right-āĻ āφāϛ⧇ "coffee"āĨ¤ Value āĻĻ⧁āχāϟāĻž āĻ…āĻĻāϞāĻŦāĻĻāϞ āĻ•āϰ⧋, āϤāĻžāϰāĻĒāϰ āĻĻ⧁āχāϟāĻžāχ āĻ›āĻžāĻĒā§‹āĨ¤ Program-āĻāϰ āĻļ⧁āϧ⧁ āĻŽāĻžāĻā§‡āϰ āĻ…āĻ‚āĻļāϟāĻž āĻŦāĻĻāϞāĻžāĻ“āĨ¤

Output. āĻšā§āĻŦāĻšā§ āĻāχ āĻĻ⧁āχ āϞāĻžāχāύāĨ¤

left: coffee
right: tea
let left = "tea";
let right = "coffee";

// Swap the two values here. Writing left = right; first loses "tea".
// Keep it somewhere safe first: a third name helps.

console.log("left:", left);
console.log("right:", right);

Grade āĻšāϝāĻŧ āύāĻžāĨ¤ āϤāĻžāϰāĻĒāϰ āύāĻŋāĻœā§‡āϕ⧇ āϜāĻŋāĻœā§āĻžā§‡āϏ āĻ•āϰ⧋, āϤāĻŋāύāϟāĻž āύāĻžāĻŽā§‡āϰ āϕ⧋āύāϟāĻž const āĻšāϤ⧇ āĻĒāĻžāϰāϤāĨ¤

Run in Compiler
āĻ…āύ⧁āĻļā§€āϞāύ ⧍āϏāĻšāϜ

Kenji-āϰ stall āĻĒāĻžāρāϚ āϘāĻŖā§āϟāĻžāϝāĻŧ āĻ–āĻžāĻŦāĻžāϰ āĻŦ⧇āĻšā§‡āϛ⧇ 120, 80, 45, 200 āφāϰ 15 āϟāĻžāĻ•āĻžāϰāĨ¤ total āύāĻžāĻŽā§‡ āĻāĻ•āϟāĻž let āϰāĻžāĻ–ā§‹, āĻĒā§āϰāϤāĻŋ āϘāĻŖā§āϟāĻžāϰ āĻŦāĻŋāĻ•ā§āϰāĻŋ āϤāĻžāϤ⧇ āϝ⧋āĻ— āĻ•āϰ⧋, āφāϰ āĻĒā§āϰāϤāĻŋ āϘāĻŖā§āϟāĻžāϰ āĻĒāϰ⧇ āϚāϞāϤāĻŋ āϝ⧋āĻ—āĻĢāϞāϟāĻž āĻ›āĻžāĻĒā§‹āĨ¤

Output. āĻšā§āĻŦāĻšā§ āĻāχ āĻĒāĻžāρāϚ āϞāĻžāχāύāĨ¤

After hour 1: 120
After hour 2: 200
After hour 3: 245
After hour 4: 445
After hour 5: 460
let total = 0;

// Add 120 to total, then print the first line.
// Then 80, 45, 200 and 15, each followed by its line.

Grade āĻšāϝāĻŧ āύāĻžāĨ¤ Grade āĻšāĻ“āϝāĻŧāĻž version-āϟāĻž, sum-of-n, āĻŦāĻŋāĻ•ā§āϰāĻŋāϗ⧁āϞ⧋ input āĻĨ⧇āϕ⧇ āĻĒāĻĄāĻŧ⧇, āφāϰ āϏ⧇āϟāĻž āφāϏāĻŦ⧇ lesson 05-āĻāϰ āĻĒāϰ⧇āĨ¤

Run in Compiler

āϏāϚāϰāĻžāϚāϰ āϝ⧇ āĻĒā§āϰāĻļā§āύāϗ⧁āϞ⧋ āφāϏ⧇

  • āύāĻžāĻŽ āĻŦāĻĻāϞāĻžāϤ⧇ āϚāĻžāχāϞ⧇ āϏāĻŦāĻ•āĻŋāϛ⧁ let āĻ•āϰ⧇ āĻĢ⧇āϞāϞ⧇āχ āϤ⧋ āĻšāϝāĻŧ?

    āϚāϞāĻŦ⧇, āĻ•āĻŋāĻ¨ā§āϤ⧁ āϤāĻžāϤ⧇ āĻāĻ•āϟāĻž āĻŦāĻŋāύāĻž āĻĒāϝāĻŧāϏāĻžāϰ check āĻšāĻžāϤāĻ›āĻžāĻĄāĻŧāĻž āĻšāϝāĻŧāĨ¤ const āĻĨāĻžāĻ•āϞ⧇ āϭ⧁āϞ āĻ•āϰ⧇ āĻŦāĻĻāϞāĻžāϞ⧇ program āĻ āĻŋāĻ• āϞāĻžāχāύāϟāĻžāϤ⧇āχ āĻĨāĻžāĻŽā§‡āĨ¤ āϏāĻŦ āϜāĻžāϝāĻŧāĻ—āĻžāϝāĻŧ let āĻĨāĻžāĻ•āϞ⧇ Bob-āĻāϰ bug āϚ⧁āĻĒāϚāĻžāĻĒ āϚāϞāϤ⧇ āĻĨāĻžāϕ⧇āĨ¤ ESLint-āĻāϰ prefer-const rule āφāϛ⧇, āĻ•āĻžāϰāĻŖ team-āϗ⧁āϞ⧋ āϠ⧇āϕ⧇ āĻāϟāĻž āĻļāĻŋāϖ⧇āϛ⧇āĨ¤

  • const āĻ•āĻŋ let-āĻāϰ āĻšā§‡āϝāĻŧ⧇ āĻĻā§āϰ⧁āϤ?

    āύāĻž, āĻ…āĻ¨ā§āϤāϤ āĻāχ āĻŽāĻžāĻĒ⧇āϰ āϕ⧋āύ⧋ program-āĻ āĻŽāĻžāĻĒāĻžāϰ āĻŽāϤ⧋ āϕ⧋āύ⧋ āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āϝ āύ⧇āχāĨ¤ āĻŽāĻžāύ⧇ āĻĻ⧇āϖ⧇ āĻŦ⧇āϛ⧇ āύāĻžāĻ“: āĻāχ āύāĻžāĻŽ āĻ•āĻŋ āĻ•āĻ–āύ⧋ āĻ…āĻ¨ā§āϝ value āϧāϰāĻŦ⧇?

  • Value āĻĻ⧇āĻ“āϝāĻŧāĻžāϰ āφāϗ⧇ let count;-āĻ āϕ⧀ āĻĨāĻžāϕ⧇?

    āĻŦāĻŋāĻļ⧇āώ value undefined, āĻŽāĻžāύ⧇ "āĻāĻ–āύ⧋ āϕ⧋āύ⧋ value āύ⧇āχ"āĨ¤ console.log(count) āĻ›āĻžāĻĒ⧇ undefinedāĨ¤ āĻ“āχ value āφāϰ āϏ⧇āϟāĻž āϕ⧋āĻĨāĻž āĻĨ⧇āϕ⧇ āφāϏ⧇, āϤāĻž āύāĻŋāϝāĻŧ⧇āχ lesson 04āĨ¤

  • āύāĻžāĻŽ āĻ•āĻŋ āĻŦāĻžāĻ‚āϞāĻžāϝāĻŧ āĻšāϤ⧇ āĻĒāĻžāϰ⧇, āϝ⧇āĻŽāύ let āĻĻāĻžāĻŽ = 5;?

    āĻšā§āϝāĻžāρ, JavaScript āύāĻžāĻŽā§‡ āϝ⧇āϕ⧋āύ⧋ āĻ­āĻžāώāĻžāϰ āĻ…āĻ•ā§āώāϰ āĻŽā§‡āύ⧇ āύ⧇āϝāĻŧ, āφāϰ āĻ“āχ āϞāĻžāχāύāϟāĻž āϚāϞ⧇āĨ¤ āĻāχ track āύāĻžāĻŽ āϞ⧇āϖ⧇ āχāĻ‚āϰ⧇āϜāĻŋāϤ⧇, āĻĒā§āϰāĻžāϝāĻŧ āϏāĻŦ shared code āϝ⧇āĻŽāύ āϞ⧇āϖ⧇, āϝāĻžāϤ⧇ āϝ⧇ āϕ⧇āω āĻĒāĻĄāĻŧāϤ⧇ āφāϰ āϖ⧁āρāĻœā§‡ āĻŦ⧇āϰ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤

āĻŽā§‚āϞ āĻ•āĻĨāĻž

  • Declaration āĻāĻ•āϟāĻž āύāĻžāĻŽ āĻāĻ•āĻŦāĻžāϰ āĻŦāĻžāύāĻžāϝāĻŧ; āϤāĻžāϰāĻĒāϰ āĻĨ⧇āϕ⧇ āύāĻžāĻŽāϟāĻž āϤāĻžāϰ āϧāϰ⧇ āϰāĻžāĻ–āĻž value-āϰ āϜāĻžāϝāĻŧāĻ—āĻžāϝāĻŧ āĻŦāϏ⧇āĨ¤
  • const āϤāĻžāϰ āĻĒā§āϰāĻĨāĻŽ value āϰāĻžāϖ⧇; āĻŦāĻĻāϞāĻžāϤ⧇ āϗ⧇āϞ⧇ program āĻĨāĻžāĻŽā§‡ TypeError: Assignment to constant variable. āĻĻāĻŋāϝāĻŧ⧇āĨ¤
  • let āφāĻŦāĻžāϰ assign āĻ•āϰāĻž āϝāĻžāϝāĻŧ; assignment āφāϗ⧇ āϤāĻžāϰ āĻĄāĻžāύ āĻĻāĻŋāĻ•āϟāĻž āĻšāĻŋāϏāĻžāĻŦ āĻ•āϰ⧇āĨ¤
  • Default āĻšāĻŋāϏ⧇āĻŦ⧇ const āύāĻžāĻ“, āφāϰ let āĻļ⧁āϧ⧁ āϏ⧇āχ āύāĻžāĻŽā§‡āϰ āϜāĻ¨ā§āϝ, āϝ⧇āϟāĻž āĻŦāĻĻāϞāĻžāϤ⧇āχ āĻšāĻŦ⧇āĨ¤
  • let copy = price āϏāĻ‚āĻ–ā§āϝāĻžāϟāĻž copy āĻ•āϰ⧇: āĻĻ⧁āχāϟāĻž āĻŦāĻžāĻ•ā§āϏ, āĻĻ⧁āχāϟāĻž valueāĨ¤
  • āύāĻžāĻŽā§‡ āĻĨāĻžāϕ⧇ āĻ…āĻ•ā§āώāϰ, āĻ…āĻ™ā§āĻ•, _ āφāϰ $, camelCase-āĻ; var āĻšāϞ⧋ āϏ⧇āχ āĻĒ⧁āϰ⧋āύ⧋ keyword, āϝ⧇āϟāĻž āĻāχ track āĻ•āĻ–āύ⧋ āϞ⧇āϖ⧇ āύāĻžāĨ¤

āĻāϰāĻĒāϰ lesson 03 āĻŦāĻžāĻ•ā§āϏāϗ⧁āϞ⧋āϰ āϭ⧇āϤāϰ⧇ āϤāĻžāĻ•āĻžāĻŦ⧇: āĻāĻ•āϟāĻž āύāĻžāĻŽ āφāϟ āϰāĻ•āĻŽā§‡āϰ āϝ⧇ value āϧāϰāϤ⧇ āĻĒāĻžāϰ⧇, āϏ⧇āϗ⧁āϞ⧋āĨ¤

lesson ⧍ āĻļ⧇āώ

āĻļ⧇āώ āĻšāϞ⧇ āϚāĻŋāĻšā§āύ āĻĻāĻŋāύ, āĻ…āĻ—ā§āϰāĻ—āϤāĻŋ āφāĻĒāύāĻžāϰ āϏāĻžāĻĨ⧇ āĻĨāĻžāĻ•āĻŦ⧇āĨ¤

āĻĒāϰ⧇āϰāϟāĻž: āϏāĻžāϤāϟāĻž primitive āφāϰ āĻāĻ•āϟāĻž object

let āφāϰ const: āĻāĻ•āϟāĻž value-āϰ āĻāĻ•āϟāĻž āύāĻžāĻŽ, āφāϰ var āύāĻž āϕ⧇āύ | Learn JavaScript | Progsity