13-2. JS ν•¨μˆ˜ (let, const, μž¬μ‚¬μš© κ°€λŠ₯ν•œ ν•¨μˆ˜)

2021. 10. 19. 15:03ㆍHTML + CSS + JS

728x90

var λ³€μˆ˜λŠ” μ—¬λŸ¬κ°€μ§€ 문제(?)λ₯Ό λ°œμƒμ‹œν‚¬ 수 μžˆλ‹€.

λ§Œμ•½ var μ˜ˆμ•½μ–΄λ₯Ό 빼먹으면 μ „μ—­λ³€μˆ˜κ°€ λ˜μ–΄ μ˜λ„μΉ˜μ•Šκ²Œ μ—¬λŸ¬κ΅°λ°μ—μ„œ μ“°μ΄κ²Œ λ˜μ–΄ μ›ν•˜λŠ” 값이 μ•ˆλ‚˜μ˜¬ μˆ˜λ„ 있고, 

var λ³€μˆ˜λŠ” μž¬μ„ μ–Έκ³Ό μž¬ν• λ‹Ήμ΄ κ°€λŠ₯ν•˜μ—¬ μ½”λ“œ 길이가 κΈΈμ–΄μ Έ var λ³€μˆ˜λ₯Ό μ„ μ–Έν–ˆμ—ˆλŠ”μ§€ λͺ¨λ₯΄κ³  

같은 μ΄λ¦„μœΌλ‘œ μž¬μ„ μ–Έν•˜κ±°λ‚˜ μž¬ν• λ‹Ήν•˜κ²Œ 될 μˆ˜λ„ μžˆλ‹€. 

이러면 또 μ‚¬μš©μžκ°€ μ˜ˆμƒν–ˆλ˜ 값이 μ•„λ‹Œ μ „ν˜€ λ‹€λ₯Έ κ°’μœΌλ‘œ 좜λ ₯λ μˆ˜λ„ μžˆλ‹€. 

λ”°λΌμ„œ ES6μ—μ„œλŠ” λ³€μˆ˜λ₯Ό μ„ μ–Έν•˜κΈ° μœ„ν•œ μ˜ˆμ•½μ–΄λ‘œ letκ³Ό constκ°€ μƒˆλ‘œ 생겼닀.

그리고 λ˜λ„λ‘μ΄λ©΄ var μ‚¬μš©μ„ ꢌμž₯ν•˜μ§€ μ•ŠλŠ”λ‹€κ³  ν•œλ‹€. 

❗ varλŠ” ν•¨μˆ˜ μ˜μ—­μ˜ λ²”μœ„μ—μ„œ μ‚¬μš©λ˜κ³ , letκ³Ό constλŠ” 블둝 μ˜μ—­μ˜ λ²”μœ„μ—μ„œ μ‚¬μš©ν•œλ‹€. 

 

 

1. let 

 

1️⃣ λΈ”λ‘μ—μ„œ μ‚¬μš© κ°€λŠ₯ν•˜λ‹€. 

let μ˜ˆμ•½μ–΄λŠ” λ³€μˆ˜λ₯Ό μ„ μ–Έν•œ {} μ—μ„œλ§Œ μœ νš¨ν•˜κ³  {}을 λ²—μ–΄λ‚˜λ©΄ μ‚¬μš©ν•  수 μ—†λ‹€. 

2️⃣ μž¬ν• λ‹Ήμ€ κ°€λŠ₯ν•˜μ§€λ§Œ μž¬μ„ μ–Έμ€ λΆˆκ°€λŠ₯ν•˜λ‹€. 

let μ˜ˆμ•½μ–΄λ₯Ό μ‚¬μš©ν•˜μ—¬ μ„ μ–Έν•œ λ³€μˆ˜λŠ” 값을 μž¬ν• λ‹Ήν•  μˆ˜λŠ” μžˆμ§€λ§Œ λ³€μˆ˜λ₯Ό μž¬μ„ μ–Έν•  μˆ˜λŠ” μ—†λ‹€. 

μž¬ν• λ‹Ήμ€ κ°€λŠ₯ 
μž¬μ„ μ–Έμ€ λΆˆκ°€λŠ₯

3️⃣ ν˜Έμ΄μŠ€νŒ…μ΄ μ—†λ‹€.

https://hyejin.tistory.com/152

 

13-1. JS ν•¨μˆ˜ (μ§€μ—­λ³€μˆ˜, μ „μ—­λ³€μˆ˜, ν˜Έμ΄μŠ€νŒ…, μž¬μ„ μ–Έ, μž¬ν• λ‹Ή)

1. μ§€μ—­λ³€μˆ˜μ™€ μ „μ—­λ³€μˆ˜ μžλ°”μŠ€ν¬λ¦½νŠΈμ—μ„œ λ³€μˆ˜λ₯Ό μ„ μ–Έν•˜κ³  μ‚¬μš©ν•  λ•Œ λ³€μˆ˜κ°€ μ μš©λ˜λŠ” λ²”μœ„λ₯Ό μŠ€μ½”ν”„λΌκ³  ν•œλ‹€. 1️⃣ μ§€μ—­λ³€μˆ˜ μ§€μ—­λ³€μˆ˜λŠ” ν•œ ν•¨μˆ˜ μ•ˆμ—μ„œλ§Œ μ‚¬μš©ν•  수 μžˆλŠ” λ³€μˆ˜λ‘œ, 둜컬 λ³€

hyejin.tistory.com

μ—¬κΈ°μ„œ var μ˜ˆμ•½μ–΄λŠ” ν˜Έμ΄μŠ€νŒ…μ΄ κ°€λŠ₯ν•˜μ—¬ y 의 값이 undefindκ°€ λ˜μ—ˆμ—ˆλ‹€.

 ν•˜μ§€λ§Œ let μ˜ˆμ•½μ–΄λŠ” λ³€μˆ˜ yλ₯Ό μ΄ˆκΈ°ν™” ν•˜κΈ° μ „μ—λŠ” μ‚¬μš©ν•  수 μ—†λ‹€. 

ν˜Έμ΄μŠ€νŒ… μ•ˆλ¨, 였λ₯˜λ°œμƒ

 

 

2. const

const μ‚¬μš©ν•œ λ³€μˆ˜ μ—­μ‹œ let κ³Ό λ§ˆμ°¬κ°€μ§€λ‘œ λ³€μˆ˜λ₯Ό μ„ μ–Έν•  λ•Œ μ‚¬μš©ν•˜λŠ” μ˜ˆμ•½μ–΄μ΄λ‹€. 

const둜 μ„ μ–Έν•œ λ³€μˆ˜λŠ” μƒμˆ˜ λ³€μˆ˜μ΄λ‹€. 즉 λ³€ν•˜μ§€μ•ŠλŠ” 값을 λ³€μˆ˜λ‘œ μ„ μ–Έν•  λ•Œ μ˜ˆμ•½μ–΄λ‘œ constλ₯Ό μ‚¬μš©ν•œλ‹€. 

 

const둜 μ„ μ–Έν•œ λ³€μˆ˜λŠ” μž¬μ„ μ–Έμ΄λ‚˜ μž¬ν• λ‹Ήν•  수 μ—†λ‹€!!!

 

μž¬μ„ μ–Έ λΆˆκ°€λŠ₯ 
μž¬ν• λ‹Ή λΆˆκ°€λŠ₯ 

 

3. λ³€μˆ˜ μ‚¬μš© ꢌμž₯ 

 

1️⃣ μ „μ—­λ³€μˆ˜λŠ” μ΅œμ†Œν•œμœΌλ‘œ μ‚¬μš©ν•œλ‹€. 

였λ₯˜ λ°œμƒ ν™•λ₯ μ΄ 높아지기 λ•Œλ¬Έμ— μ „μ—­ λ³€μˆ˜λŠ” λ˜λ„λ‘μ΄λ©΄ 적게 μ‚¬μš©ν•˜λŠ”κ²ƒμ„ ꢌμž₯ν•œλ‹€. 

 

2️⃣ var λ³€μˆ˜λŠ” ν•¨μˆ˜μ˜ μ‹œμž‘λΆ€λΆ„μ—μ„œ μ„ μ–Έν•œλ‹€. 

var λ₯Ό μ‚¬μš©ν•œ λ³€μˆ˜λŠ” μ–΄λ””μ—μ„œ μ„ μ–Έν•˜λ“  상관은 μ—†μ§€λ§Œ λ‚΄λΆ€μ—μ„œ ν˜Έμ΄μŠ€νŒ…μ΄ 생기기 λ•Œλ¬Έμ— 였λ₯˜λ₯Ό λ°œμƒμ‹œν‚¬ κ°€λŠ₯성이 μ‘΄μž¬ν•˜λ―€λ‘œ μ‹œμž‘λΆ€λΆ„μ— λ‹€ μ„ μ–Έν•œλ‹€. 

 

3️⃣ forλ¬Έμ—μ„œ μΉ΄μš΄ν„° λ³€μˆ˜λ₯Ό μ‚¬μš©ν•  λ•ŒλŠ” var μ˜ˆμ•½μ–΄λ₯Ό μ‚¬μš©ν•˜μ§€ μ•ŠλŠ”λ‹€. 

let μ˜ˆμ•½μ–΄ μ‚¬μš© ꢌμž₯!

 

4️⃣ ES6λ₯Ό μ‚¬μš©ν•œλ‹€λ©΄ var보닀 let μ˜ˆμ•½μ–΄ μ‚¬μš© ꢌμž₯

 

 

4. μž¬μ‚¬μš© κ°€λŠ₯ν•œ ν•¨μˆ˜ 

function addNumber(num1, num2) μ—μ„œ 

num1와 num2λŠ” λ§€κ°œλ³€μˆ˜μ΄λ‹€. 

λ§€κ°œλ³€μˆ˜μ— 기본값을 μ§€μ •ν•΄λ‘˜ 수 μžˆλ‹€. 

 

 

 

* μ—°μŠ΅λ¬Έμ œ 

 

<!DOCTYPE html>
<html lang="ko">
<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<title>1λΆ€ν„° nκΉŒμ§€ λ”ν•˜κΈ°</title>
</head>
<body>

	<script>
		function calcSum(n) {
			var sum = 0; 
				for(let i = 1; i < n+1; i++) {
						sum += i;
				}

				document.write("1λΆ€ν„° " + n + "κΉŒμ§€ λ”ν•˜λ©΄ " + sum);
		}

		var userNumber = prompt("μ–Όλ§ˆκΉŒμ§€ λ”ν• κΉŒμš”?");

		if(userNumber !== null) {
			calcSum(parseInt(userNumber));
		}
	</script>
</body>
</html>

 

 

 

 

 

 

 

 

 

728x90