Search

JavaScript μ†Œκ°œ 및 기초

JavaScript μ†Œκ°œ

μ›Ή λΈŒλΌμš°μ € 및 Node λŸ°νƒ€μž„ ν™˜κ²½μ—μ„œ μ‹€ν–‰λ˜λŠ” 인터프리터 ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄μž…λ‹ˆλ‹€.
μ›Ή νŽ˜μ΄μ§€λ₯Ό λ™μ μœΌλ‘œ λ§Œλ“€κ³  μ‚¬μš©μžμ™€ μƒν˜Έ μž‘μš©ν•˜λŠ” κΈ°λŠ₯을 κ΅¬ν˜„ν•˜λŠ” 데 μ‚¬μš©λ©λ‹ˆλ‹€.
Node λŸ°νƒ€μž„ ν™˜κ²½μ—μ„œ μ‹€ν–‰ κ°€λŠ₯ν•œ ν”„λ‘œκ·Έλž¨μ„ κ΅¬ν˜„ν•˜λŠ” 데도 μ‚¬μš©λ©λ‹ˆλ‹€.

μ£Όμš” νŠΉμ§•

νŠΉμ§•
μ„€λͺ…
인터프리터 μ–Έμ–΄
컴파일 κ³Όμ • 없이 μ½”λ“œλ₯Ό ν•œ 쀄씩 λ°”λ‘œ μ‹€ν–‰ν•˜λŠ” λ°©μ‹μœΌλ‘œ λ™μž‘ν•©λ‹ˆλ‹€.
ν΄λΌμ΄μ–ΈνŠΈ 슀크립트 μ–Έμ–΄
μ›Ή λΈŒλΌμš°μ €μ—μ„œ μ‹€ν–‰λ˜λ©°, μ„œλ²„μ˜ λΆ€ν•˜λ₯Ό 쀄이고 μ‚¬μš©μžμ˜ 컴퓨터 μžμ›μ„ ν™œμš©ν•©λ‹ˆλ‹€.
객체 기반 μ–Έμ–΄
객체λ₯Ό 기반으둜 ν•˜λŠ” ν”„λ‘œκ·Έλž˜λ°μ΄ κ°€λŠ₯ν•˜λ©°, λ‹€μ–‘ν•œ λ‚΄μž₯ 객체λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€.
ν’λΆ€ν•œ 라이브러리
React, Vue.js, Angular λ“± λ‹€μ–‘ν•œ ν”„λ ˆμž„μ›Œν¬μ™€ 라이브러리λ₯Ό ν™œμš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

κΈ°λ³Έ μš©μ–΄

μš©μ–΄
μ„€λͺ…
ν‘œν˜„μ‹(Expression)
값을 λ§Œλ“€μ–΄λ‚΄λŠ” μ½”λ“œ
λ¬Έμž₯(Statement)
ν”„λ‘œκ·Έλž¨μ„ κ΅¬μ„±ν•˜λŠ” μ΅œμ†Œ λ‹¨μœ„
ν‚€μ›Œλ“œ(Keyword)
νŠΉλ³„ν•œ μ˜λ―Έκ°€ λΆ€μ—¬λœ 단어
μ‹λ³„μž(Identifier)
λ³€μˆ˜λ‚˜ ν•¨μˆ˜ λ“±μ˜ 이름

ν‚€μ›Œλ“œ

JavaScriptμ—μ„œ ν‚€μ›Œλ“œλŠ” μ–Έμ–΄ μžμ²΄μ—μ„œ νŠΉλ³„ν•œ μš©λ„λ‘œ μ‚¬μš©ν•˜κΈ° μœ„ν•΄ 미리 μ˜ˆμ•½ν•΄λ‘” λ‹¨μ–΄λ“€μž…λ‹ˆλ‹€. μ΄λŸ¬ν•œ ν‚€μ›Œλ“œλ“€μ€ λ³€μˆ˜λͺ…μ΄λ‚˜ ν•¨μˆ˜λͺ…μœΌλ‘œ μ‚¬μš©ν•  수 μ—†μŠ΅λ‹ˆλ‹€.
var, let, const, if, else, for, while, function, return, break, continue
JavaScript
볡사
μΉ΄ν…Œκ³ λ¦¬
ν‚€μ›Œλ“œ
μ„€λͺ…
λ³€μˆ˜ μ„ μ–Έ
var, let, const
λ³€μˆ˜λ₯Ό μ„ μ–Έν•˜κ³  μ΄ˆκΈ°ν™”ν•˜λŠ” 데 μ‚¬μš©
쑰건문
if, else, switch, case
쑰건에 λ”°λ₯Έ μ½”λ“œ 싀행을 μ œμ–΄
반볡문
for, while, do
μ½”λ“œλ₯Ό 반볡적으둜 μ‹€ν–‰
ν•¨μˆ˜ κ΄€λ ¨
function, return
ν•¨μˆ˜λ₯Ό μ •μ˜ν•˜κ³  값을 λ°˜ν™˜
객체 μ§€ν–₯
class, new, this
객체 μ§€ν–₯ ν”„λ‘œκ·Έλž˜λ° κ΅¬ν˜„
μ˜ˆμ™Έ 처리
try, catch, throw
였λ₯˜ μ²˜λ¦¬μ™€ μ˜ˆμ™Έ 상황 관리
μœ„ ν‚€μ›Œλ“œλ“€μ€ JavaScript ν”„λ‘œκ·Έλž˜λ°μ˜ κΈ°λ³Έ ꡬ쑰λ₯Ό ν˜•μ„±ν•˜λŠ” 핡심 μš”μ†Œμž…λ‹ˆλ‹€.

μ‹λ³„μž

μ‹λ³„μžλŠ” ν”„λ‘œκ·Έλž¨μ—μ„œ λ³€μˆ˜, ν•¨μˆ˜, 클래슀 등을 κ΅¬λΆ„ν•˜κΈ° μœ„ν•΄ μ‚¬μš©ν•˜λŠ” 이름을 μ˜λ―Έν•©λ‹ˆλ‹€. JavaScriptμ—μ„œ μ‹λ³„μžλ₯Ό μž‘μ„±ν•  λ•ŒλŠ” λ‹€μŒκ³Ό 같은 κ·œμΉ™μ„ 따라야 ν•©λ‹ˆλ‹€.
β€’
ν‚€μ›Œλ“œλ₯Ό μ‚¬μš©ν•˜λ©΄ μ•ˆ λ©λ‹ˆλ‹€.
β€’
숫자둜 μ‹œμž‘ν•˜λ©΄ μ•ˆ λ©λ‹ˆλ‹€.
β€’
특수 λ¬ΈμžλŠ” _, $만 ν—ˆμš©λ©λ‹ˆλ‹€.
β€’
곡백 문자λ₯Ό 포함할 수 μ—†μŠ΅λ‹ˆλ‹€.

주석

μ½”λ“œλ₯Ό μ„€λͺ…ν•˜λŠ” λ‚΄μš©μ΄λ‚˜ λ©”λͺ¨λ₯Ό μž‘μ„±ν•˜λŠ” λΆ€λΆ„
ν”„λ‘œκ·Έλž¨ 진행에 영ν–₯을 μ£Όμ§€ μ•ŠμŠ΅λ‹ˆλ‹€.
μ–Έμ–΄
주석 기호
μ„€λͺ…
HTML
<!-- μ£Όμ„λ‚΄μš© -->
HTML λ¬Έμ„œμ—μ„œ μ‚¬μš©λ˜λŠ” 주석
JavaScript
// μ£Όμ„λ‚΄μš©
ν•œ 쀄 주석 처리
JavaScript
/* μ£Όμ„λ‚΄μš© */
μ—¬λŸ¬ 쀄 주석 처리
// ν•œ 쀄 주석 μ˜ˆμ‹œ console.log("Hello"); // 이것은 μ•ˆλ‚΄ λ©”μ‹œμ§€μž…λ‹ˆλ‹€ /* μ—¬λŸ¬ 쀄 주석 μ˜ˆμ‹œ μ΄λ ‡κ²Œ μ—¬λŸ¬ 쀄을 주석 μ²˜λ¦¬ν•  수 μžˆμŠ΅λ‹ˆλ‹€ */ console.log("World");
JavaScript
볡사

κΈ°λ³Έ 좜λ ₯

1. console.log() λ©”μ„œλ“œ

λΈŒλΌμš°μ €μ˜ 개발자 도ꡬ μ½˜μ†” 창에 λ‚΄μš©μ„ 좜λ ₯ν•˜λŠ” λ°©λ²•μž…λ‹ˆλ‹€.
console.log("Hello World"); // μ½˜μ†”μ— ν…μŠ€νŠΈ 좜λ ₯ console.log(123); // 숫자 좜λ ₯ console.log(true); // λΆˆλ¦¬μ–Έ κ°’ 좜λ ₯
JavaScript
볡사

2. alert() λ©”μ„œλ“œ

μ‚¬μš©μžμ—κ²Œ κ²½κ³ μ°½(νŒμ—…)을 톡해 λ©”μ‹œμ§€λ₯Ό ν‘œμ‹œν•˜λŠ” λ°©λ²•μž…λ‹ˆλ‹€.
alert("Hello World"); // 경고창으둜 λ©”μ‹œμ§€ 좜λ ₯ alert("κ²½κ³ !"); // ν•œκΈ€λ„ 좜λ ₯ κ°€λŠ₯ alert(123 + 456); // 계산 결과도 좜λ ₯ κ°€λŠ₯
JavaScript
볡사

3. confirm() λ©”μ†Œλ“œ

μ‚¬μš©μžμ—κ²Œ 확인 창을 톡해 확인, μ·¨μ†Œ μ—¬λΆ€λ₯Ό μž…λ ₯ 받을 수 μžˆλŠ” νŒμ—… μ°½ μž…λ‹ˆλ‹€.
[확인] λ²„νŠΌ 클릭 μ‹œ, true λ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.
[μ·¨μ†Œ] λ²„νŠΌ 클릭 μ‹œ, false λ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.
확인, μ·¨μ†Œ 여뢀에 λ”°λΌμ„œ ν”„λ‘œκ·Έλž¨ μ‹€ν–‰ 흐름을 μ œμ–΄ν•  수 μžˆμŠ΅λ‹ˆλ‹€

4. document.write() λ©”μ„œλ“œ

HTML λ¬Έμ„œμ— 직접 λ‚΄μš©μ„ μž‘μ„±ν•˜λŠ” λ°©λ²•μž…λ‹ˆλ‹€.
document.write("Hello World"); // HTML λ¬Έμ„œμ— ν…μŠ€νŠΈ 좜λ ₯ document.write("<h1>제λͺ©</h1>"); // HTML νƒœκ·Έλ„ μ‚¬μš© κ°€λŠ₯ document.write("<p>문단</p>"); // μ—¬λŸ¬ μš”μ†Œ 좜λ ₯ κ°€λŠ₯
JavaScript
볡사