[TIL] JavaScript_๋ณ€์ˆ˜

Sohee Yeoยท2023๋…„ 5์›” 31์ผ
0
post-thumbnail

๐Ÿš€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ณต์Šตํ•˜๊ธฐ

React, TypeScript ๋“ฑ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ๋ฐ˜์˜ ๋ฌด์–ธ๊ฐ€๋ฅผ ๋ฐฐ์šธ ๋•Œ๋งˆ๋‹ค ๊ธฐ๋ณธ๊ธฐ์˜ ์ค‘์š”์„ฑ์„ ๋Š๋ผ๊ณค ํ•œ๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ฒ˜์Œ ํ•™์Šตํ–ˆ์„ ๋•Œ ์–ด๋ ค์›€์„ ๊ฒช๊ธฐ๋„ ํ–ˆ๊ณ , ์ œ๋Œ€๋กœ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ์„๊นŒ ์ƒ๊ฐํ•ด ๋ณด์•˜์„ ๋•Œ ์ž์‹ ์ด ์—†์œผ๋ฏ€๋กœ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ์ฃผ์š” ํ•ต์‹ฌ๋“ค์„ ๋‹ค์‹œ ํ•œ๋ฒˆ ๋˜์งš์–ด๋ณด๋ ค ํ•œ๋‹ค.

๋ณ€์ˆ˜ (Variable)

๋ณ€์ˆ˜๋Š” ํ•˜๋‚˜์˜ ๊ฐ’์„ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด ํ™•๋ณดํ•œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„ ๋˜๋Š” ๊ทธ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•ด ๋ถ™์ธ ์ด๋ฆ„์„ ๋œปํ•œ๋‹ค.

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ๋Š” let ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•œ๋‹ค. (ES6 ์ด์ „์—๋Š” var ํ‚ค์›Œ๋“œ ์‚ฌ์šฉ)

  • ๋ณ€์ˆ˜์— ๊ฐ’์„ ์ €์žฅํ•˜๋Š” ๊ฒƒ์„ ํ• ๋‹น(assignment)์ด๋ผ ํ•˜๊ณ , ๋ณ€์ˆ˜์— ์ €์žฅ๋œ ๊ฐ’์„ ์ฝ์–ด ๋“ค์ด๋Š” ๊ฒƒ์„ ์ฐธ์กฐ(reference)๋ผ ํ•œ๋‹ค.

์ปดํ“จํ„ฐ๋Š” ๋ฉ”๋ชจ๋ฆฌ ์…€์˜ ์ง‘ํ•ฉ์ฒด์ธ ๋ฉ”๋ชจ๋ฆฌ์— ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•œ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ์˜ ๊ฐ ์…€์€ ๊ณ ์œ ์˜ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋ฅผ ๊ฐ–๊ณ , ์ด ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋Š” ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์˜ ์œ„์น˜๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.
๋ณ€์ˆ˜ ์ด๋ฆ„์ธ ์‹๋ณ„์ž๋กœ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋ฅผ ํ†ตํ•ด ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์— ์ €์žฅ๋œ ๊ฐ’์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค.


๊ฐ’์˜ ํ• ๋‹น

  • ๋ณ€์ˆ˜์— ๊ฐ’์„ ํ• ๋‹นํ•  ๋•Œ๋Š” ํ• ๋‹น ์—ฐ์‚ฐ์ž =๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
let color; // ๋ณ€์ˆ˜ ์„ ์–ธ
color = 'red'; // ๊ฐ’ ํ• ๋‹น
  • ๋ณ€์ˆ˜ ์„ ์–ธ๊ณผ ๊ฐ’ ํ• ๋‹น์„ ํ•œ ์ค„๋กœ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.
let color = 'red';
  • ํ•œ ์ค„์— ์—ฌ๋Ÿฌ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๋Š” ๊ฒƒ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค.
let color = 'red', size = 10, shape = 'round';
โ†’ ํ•˜์ง€๋งŒ ๊ฐ€๋…์„ฑ์ด ์ข‹์ง€ ์•Š์œผ๋ฏ€๋กœ ํ•œ ์ค„์—๋Š” ํ•˜๋‚˜์˜ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.
  • ์ด๋ฏธ ๊ฐ’์ด ํ• ๋‹น๋œ ๋ณ€์ˆ˜์— ์ƒˆ๋กœ์šด ๊ฐ’์„ ์žฌํ• ๋‹น ํ•  ์ˆ˜๋„ ์žˆ๋‹ค.
let color = 'red';
color = 'pink';

๐Ÿ“ let, const ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณ€์ˆ˜๋ฅผ ๋‘ ๋ฒˆ ์„ ์–ธํ•˜๋ฉด ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

๋”ฐ๋ผ์„œ ๋ณ€์ˆ˜๋Š” ํ•œ ๋ฒˆ๋งŒ ์„ ์–ธํ•˜๊ณ , ์„ ์–ธํ•œ ๋ณ€์ˆ˜๋ฅผ ์ฐธ์กฐํ•  ๋•Œ๋Š” let ์—†์ด ๋ณ€์ˆ˜๋ช…๋งŒ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.


๋ณ€์ˆ˜ ๋„ค์ด๋ฐ ๊ทœ์น™

  • ๋ณ€์ˆ˜๋ช…์€ ํŠน์ˆ˜๋ฌธ์ž๋ฅผ ์ œ์™ธํ•œ ๋ฌธ์ž, ์ˆซ์ž, ๊ธฐํ˜ธ _ ๊ณผ $๋ฅผ ํฌํ•จํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๋ณ€์ˆ˜๋ช…์€ ์ˆซ์ž๋กœ ์‹œ์ž‘ํ•  ์ˆ˜ ์—†๋‹ค.
  • ์˜ˆ์•ฝ์–ด๋Š” ๋ณ€์ˆ˜๋ช…์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค.

โ›”๏ธ ์˜ˆ์•ฝ์–ด
let, const, class, return, this, for ๋“ฑ

โœ”๏ธ ์•ŒํŒŒ๋ฒณ ์ด์™ธ ํ•œ๊ธ€ ๋“ฑ ๋ชจ๋“  ์–ธ์–ด๋ฅผ ๋ณ€์ˆ˜๋ช…์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ์˜์–ด๋ฅผ ๋ณ€์ˆ˜๋ช…์— ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๊ตญ์ œ์ ์ธ ๊ด€์Šต์ด๋ฏ€๋กœ, ๋ณ€์ˆ˜๋ช…์€ ์˜์–ด๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

let ์ด๋ฆ„ = '...';
let ๅ = '...';

โœ”๏ธ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ๋Œ€์†Œ๋ฌธ์ž๋ฅผ ๊ตฌ๋ณ„ํ•œ๋‹ค. ์•„๋ž˜ ๋ณ€์ˆ˜๋Š” ๊ฐ๊ฐ ๋ณ„๊ฐœ์˜ ๋ณ€์ˆ˜์ด๋‹ค.

let userName;
let username;

โœ”๏ธ ๋ณ€์ˆ˜๋ช…์€ ์˜๋ฏธ๋ฅผ ๋ช…ํ™•ํžˆ ํ‘œํ˜„ํ•ด์•ผ ํ•œ๋‹ค. ์ข‹์€ ๋ณ€์ˆ˜๋ช…์€ ์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ์„ ๋†’์ธ๋‹ค.

let x = 16; 		// ๋ณ€์ˆ˜๊ฐ€ ์˜๋ฏธํ•˜๋Š” ๋ฐ”๋ฅผ ์•Œ ์ˆ˜ ์—†๋‹ค.
let fontSize = 16; 	// fontSize ๋ณ€์ˆ˜๋Š” ํฐํŠธ ํฌ๊ธฐ๋ฅผ ์˜๋ฏธํ•œ๋‹ค.

๋„ค์ด๋ฐ ์ปจ๋ฒค์…˜

์นด๋ฉœ ์ผ€์ด์Šค(camelCase)
์ฒซ ๋‹จ์–ด๋ฅผ ์ œ์™ธํ•œ ๊ฐ ๋‹จ์–ด์˜ ์ฒซ ๊ธ€์ž๋ฅผ ๋Œ€๋ฌธ์ž๋กœ ์ž‘์„ฑํ•˜๋Š” ํ‘œ๊ธฐ๋ฒ•

let userName;

์Šค๋„ค์ดํฌ ์ผ€์ด์Šค(snake_case)
๋‹จ์–ด์™€ ๋‹จ์–ด ์‚ฌ์ด _ ๊ธฐํ˜ธ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ํ‘œ๊ธฐ๋ฒ•

let user_name;

ํŒŒ์Šค์นผ ์ผ€์ด์Šค(PascalCase)
๊ฐ ๋‹จ์–ด์˜ ์ฒซ ๊ธ€์ž๋ฅผ ๋Œ€๋ฌธ์ž๋กœ ์ž‘์„ฑํ•˜๋Š” ํ‘œ๊ธฐ๋ฒ•

let UserName;

์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•œ๋‹ค๋ฉด ์–ด๋–ค ๋„ค์ด๋ฐ ์ปจ๋ฒค์…˜์„ ์‚ฌ์šฉํ•ด๋„ ์ข‹์ง€๋งŒ, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๋ณ€์ˆ˜๋‚˜ ํ•จ์ˆ˜์˜ ์ด๋ฆ„์—๋Š” ์นด๋ฉœ ์ผ€์ด์Šค๋ฅผ, ์ƒ์„ฑ์ž ํ•จ์ˆ˜, ํด๋ž˜์Šค์˜ ์ด๋ฆ„์—๋Š” ํŒŒ์Šค์นผ ์ผ€์ด์Šค๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.




์ฐธ๊ณ 

๋ชจ๋˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ Deep Dive (๋„์„œ)

https://ko.javascript.info/variables


profile
์‹คํŒจ์— ๋ฌด๋”˜ ์‚ฌ๋žŒ. ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž๋ฅผ ๊ฟˆ๊ฟ‰๋‹ˆ๋‹ค

0๊ฐœ์˜ ๋Œ“๊ธ€