12-1. JS κΈ°λ³Έ 문법 (λ³€μˆ˜, μžλ£Œν˜•, μ—°μ‚°μž)

2021. 10. 18. 18:06ㆍHTML + CSS + JS

728x90

1. λ³€μˆ˜, μƒμˆ˜ 

μ§„μ§œ 기초적인 κ°œλ…μ΄μ§€λ§Œ 

λ³€μˆ˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μ‹€ν–‰ν•˜λŠ” λ™μ•ˆ 값이 값이 μ—¬λŸ¬λ²ˆ λ‹¬λΌμ§ˆ 수 μžˆλŠ” 데이터이닀.

μƒμˆ˜λŠ” 값을 ν•œλ²ˆ μ§€μ •ν•˜λ©΄ λ°”λ€Œμ§€ μ•ŠλŠ” 데이터λ₯Ό μƒμˆ˜λΌκ³  ν•œλ‹€. 

 

2. λ³€μˆ˜ μ„ μ–Έ κ·œμΉ™ 

λ³€μˆ˜λ₯Ό μ‚¬μš©ν•˜λ €λ©΄ λ³€μˆ˜λ₯Ό ꡬ별할 수 μžˆλ„λ‘ 이름을 λΆ™μ—¬μ•Όν•œλ‹€. 

 

1️⃣ λ³€μˆ˜ 이름은 μ˜λ¬Έμžλ‚˜ _, 숫자λ₯Ό μ‚¬μš©ν•œλ‹€. 

EX) num1, product_name, _name 

 

2️⃣ λ³€μˆ˜ 이름에 μ˜ˆμ•½μ–΄λ₯Ό μ‚¬μš©ν•  수 μ—†μœΌλ©°, λŒ€μ†Œλ¬Έμžλ₯Ό κ΅¬λ³„ν•œλ‹€. 

name, Name, NAME λͺ¨λ‘ λ‹€λ₯Έ λ³€μˆ˜μ΄λ©°, var 같은 μ˜ˆμ•½μ–΄λ₯Ό λ³€μˆ˜μ΄λ¦„μœΌλ‘œ μ„ μ–Έν•  수 μ—†λ‹€. 

 

3️⃣ μ—¬λŸ¬ 단어λ₯Ό μ—°κ²°ν•  λ•Œ 곡백은 μ•ˆλ˜λ©°, λŒ€λ¬Έμžλ₯Ό μ„žμ–΄ μ‚¬μš©ν•œλ‹€. 

product_Code 처럼 μ—¬λŸ¬ 단어λ₯Ό μ—°κ²°ν•  λ•ŒλŠ” 곡백은 μ•ˆλ˜κ³ , λ‘λ²ˆμ§Έ λ‹¨μ–΄μ˜ 첫 κΈ€μžλŠ” λŒ€λ¬Έμžλ‘œ μ‹œμž‘ν•˜λŠ”κ²Œ 일반적이고, 이λ₯Ό camel ν‘œκΈ°λ²•μ΄λΌκ³  ν•œλ‹€. 

ex_ productName, studentClass

 

4️⃣ λ³€μˆ˜ 이름은 의미 있게 μž‘μ„±ν•œλ‹€. 

λ³€μˆ˜ 이름을 λ‹€ κΈ°μ–΅ν•˜κΈ° νž˜λ“€ μˆ˜λ„ 있기 λ•Œλ¬Έμ— λ”± 보고도 μ•Œμ•„λ³Ό 수 μžˆλ„λ‘ λ³€μˆ˜ 이름은 의미있게 μž‘μ„±ν•œλ‹€. 

 

3. λ³€μˆ˜ μ„ μ–Έ

var λ³€μˆ˜μ΄λ¦„;

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

: λ‚˜μ΄ 계산 

promp 이용 
κ²°κ³Ό html ν™”λ©΄ 

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>λ‚˜μ΄ κ³„μ‚°ν•˜κΈ°</title>
</head>
<body>

    <script>
        var currentYear = 2021; 
        var birthYear; 
        var age;

        birthYear = prompt("νƒœμ–΄λ‚œ 연도λ₯Ό μž…λ ₯ν•˜μ„Έμš”. YYYY", "");
        age = currentYear - birthYear + 1;
        document.write(currentYear + "λ…„ ν˜„μž¬ <br>");
        document.write(birthYear + "년에 νƒœμ–΄λ‚œ μ‚¬λžŒμ˜ λ‚˜μ΄λŠ” " + age + "μ„Έ μž…λ‹ˆλ‹€")
    </script>
</body>
</html>

 

4. μžλ£Œν˜• 

κΈ°λ³Έ μœ ν˜• : 숫자, λ¬Έμžμ—΄, λ…Όλ¦¬ν˜• 

볡합 μœ ν˜• : λ°°μ—΄, 객체 

특수 μœ ν˜• : undefined, null

 

1️⃣ κΈ°λ³Έ μœ ν˜• 

μˆ«μžν˜• : μ •μˆ˜μ™€ μ‹€μˆ˜λ‘œ λ‚˜λˆŒ 수 μžˆλ‹€. 

μ •μˆ˜ - μ†Œμˆ˜μ μ΄ μ—†λŠ” μˆ«μžμ΄λ‹€.

μ‹€μˆ˜ - μ†Œμˆ˜μ μ΄ μžˆλŠ” μˆ«μžμ΄λ‹€. 

 

λ¬Έμžμ—΄ : ''λ‚˜ ""둜 묢은 데이터이닀. (μˆ«μžλ„ ''λ‚˜ ""둜 묢이면 λ¬Έμžμ—΄μ΄λ‹€.)

ex) var name = "park"; 

 

λ…Όλ¦¬ν˜• : boolean μœ ν˜•μ΄λΌκ³ λ„ ν•˜κ³ , μ°Έμ΄λ‚˜ κ±°μ§“μ˜ 값을 ν‘œν˜„ν•˜λŠ” μžλ£Œν˜•μ΄λ‹€. 

쑰건에 맞으면 true, 쑰건에 λ§žμ§€μ•ŠμœΌλ©΄ false 둜 λ‚˜νƒ€λ‚Έλ‹€. 

λ”°λΌμ„œ 쑰건을 확인할 λ•Œ λ…Όλ¦¬ν˜• 데이터λ₯Ό 많이 μ‚¬μš©ν•œλ‹€. 

 

2️⃣ 볡합 μœ ν˜• 

λ°°μ—΄ : ν•˜λ‚˜μ˜ λ³€μˆ˜μ— μ—¬λŸ¬κ°œμ˜ 값을 μ €μž₯ν•œλ‹€. 

ex) var name = ["lee", "park", "kim"];

 

객체 : ν•¨μˆ˜μ™€ 속성을 ν•¨κ»˜ ν¬ν•¨ν•œλ‹€. 

ex) var date = new Date(); 

 

3️⃣ 특수 μœ ν˜• 

undefined : undefined은 μžλ£Œν˜•μ΄ μ •μ˜λ˜μ–΄ μžˆμ§€ μ•Šμ•˜μ„ λ•Œ 데이터 μƒνƒœμ΄λ‹€. 

μžλ°”μŠ€ν¬λ¦½νŠΈμ—μ„œ λ³€μˆ˜λ₯Ό μ„ μ–Έν•  λ•Œ μžλ£Œν˜•μ„ 미리 μ§€μ •ν•˜μ§€ μ•Šκ³  값을 ν• λ‹Ήν• λ•Œ κ²°μ •ν•œλ‹€. 

 

null : λ°μ΄ν„°μ˜ 값이 μœ νš¨ν•˜μ§€ μ•Šμ€ μƒνƒœμ΄λ‹€. 

 

이 λ‘˜μ˜ μ°¨μ΄λŠ” undefinedλŠ” λ³€μˆ˜λ₯Ό μ„ μ–Έν•œ μƒνƒœμ—μ„œ 값이 ν• λ‹Ήλ˜μ§€ μ•Šμ€ μƒνƒœμ΄κ³ , 

null은 λ³€μˆ˜μ— ν• λ‹Ήλœ 값이 μœ νš¨ν•˜μ§€ μ•Šμ€ μƒνƒœμ΄λ‹€. 

 

 

5. μ—°μ‚°μž 

 

1️⃣ μ‚°μˆ μ—°μ‚°μž 

+, - , /, %, *, ++, --

❗

/ λ‚˜λˆ„κΈ° μ—°μ‚°μžμ˜ 결과값은 λ‚˜λˆˆ κ°’ 자체 

% λŠ” λ‚˜λ¨Έμ§€ κ°’ 

 

2️⃣ ν• λ‹Ήμ—°μ‚°μž (λŒ€μž… μ—°μ‚°μž)

=, +=, -=, /= , %=, *= 

 

3️⃣ μ—°κ²°μ—°μ‚°μž 

μ—°κ²°μ—°μ‚°μžλŠ” λ‘˜ μ΄μƒμ˜ λ¬Έμžμ—΄μ„ ν•©μ³μ„œ ν•˜λ‚˜μ˜ λ¬Έμžμ—΄λ‘œ λ§Œλ“œλŠ” μ—°μ‚°μžμ΄λ‹€. 

+ 기호 μ‚¬μš© 

4️⃣ λΉ„κ΅μ—°μ‚°μž 

λΉ„κ΅μ—°μ‚°μžλŠ” ν”Όμ—°μ‚°μž 2개의 값을 λΉ„κ΅ν•΄μ„œ μ°Έμ΄λ‚˜ κ±°μ§“μœΌλ‘œ 결과값을 λ°˜ν™˜ν•œλ‹€. 

== : ν”Όμ—°μ‚°μžκ°€ κ°™μœΌλ©΄ true

=== : ν”Όμ—°μ‚°μžκ°€ κ°™κ³ , μžλ£Œν˜•λ„ κ°™μœΌλ©΄ true

!=  : ν”Όμ—°μ‚°μžκ°€ λ‹€λ₯΄λ©΄ true

!== : ν”Όμ—°μ‚°μžκ°€ λ‹€λ₯΄κ±°λ‚˜ μžλ£Œν˜•λ„ λ‹€λ₯΄λ©΄ true

< , >, <= , >= 

 

==와 != μ—°μ‚°μžλŠ” ν”Όμ—°μ‚°μžμ˜ μžλ£Œν˜•μ„ μžλ™μœΌλ‘œ λ³€ν™˜ν•΄μ„œ λΉ„κ΅ν•œλ‹€.

λ”°λΌμ„œ 3 == "3" 의 κ²°κ³Όκ°€ true이닀. 

===와 !== μ—°μ‚°μžλŠ” ν”Όμ—°μ‚°μžμ˜ μžλ£Œν˜•μ„ λ³€ν™˜ν•˜μ§€ μ•ŠλŠ”λ‹€. 

3 === "3" 의 κ²°κ³ΌλŠ” false 이닀. 

 

κ°’ λΉ„κ΅ν•˜κΈ° μœ„ν•΄μ„œλŠ” μžλ£Œν˜•μ„ λ³€ν™˜ν•˜μ§€ μ•ŠλŠ” ===와 !==λ₯Ό 많이 μ‚¬μš©ν•œλ‹€. 

 

5️⃣ λ…Όλ¦¬μ—°μ‚°μž 

||, &&, ! 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90