"semantic"μ΄λΌλ λ¨μ΄μ μλ―Έλ₯Ό μ°Ύμ보면 λ€μκ³Ό κ°μ μ μκ° μλ€.
μλ―Έλ‘ μ μΈμ΄μ μλ―Έλ₯Ό μ°κ΅¬νλ νλ¬Έμ λλ€. μλ―Έκ° λ¬΄μμΈμ§, λ¨μ΄κ° μ΄λ»κ² μλ―Έλ₯Ό μ»λμ§, 볡μ‘ν ννμ μλ―Έκ° λΆλΆμ λ°λΌ μ΄λ»κ² λ¬λΌμ§λμ§ μ΄ν΄λ΄ λλ€. (μν€λ°±κ³Ό)
"μλ―Έλ‘ μ μΈ"μ΄λΌλ λ»μ κ°μ§λ©°, νλ‘κ·Έλλ°μμ semanticμ΄λ "μ½λ μ‘°κ°λ€μ μλ―Έ"λ₯Ό λνλΈλ€.
νλ‘κ·Έλλ°μμ κ°μ§λ "μλ―Έ"μ μλ―Έλ μ νν μ΄λ€ κ²μΌκΉ?
λ€μκ³Ό κ°μ΄ λμΌν λμμ νλ λ κ°μ μ½λκ° μλ€κ³ ν΄λ³΄μ.
let a = 1 + 2;
console.log(a);
let sum = add(1, 2);
console.log(sum);
μ΄ λ κ°μ μ½λλ λͺ¨λ κ°μ κ²°κ³Όλ₯Ό μΆλ ₯νμ§λ§, μλ―Έμ μΌλ‘λ μμ ν λ€λ₯΄λ€.
첫 λ²μ§Έ μ½λλ λ¨μν μ«μλ₯Ό λνλ μ°μ°μ μννμ§λ§, λ λ²μ§Έ μ½λλ addλΌλ ν¨μμ μλ―Έλ₯Ό ν¬ν¨νκ³ μλ€.
μ¬κΈ°μ μλ―Έλ‘ μ μΌλ‘ μ€μν μ°¨μ΄κ° λ°μνλ€.
μ¦, μ½λμ μλ―Έλ κ·Έ μ½λκ° μννλ μμ
μ΄ λ¬΄μμΈμ§, κ·Έλ¦¬κ³ κ·Έκ²μ΄ μ΄λ»κ² ν΄μλλμ§μ λν κ²μ΄λ€.
λ¨μν μ¬λ°λ₯Έ ꡬ문(λ¬Έλ²) μμ±λ³΄λ€ ν λ¨κ³ λμκ°μ, μ¬λκ³Ό μ»΄ν¨ν° κ°μ μνν νμ
μ μν΄ μμ±νλ μ°¨μμ΄λΌκ³ λ³Ό μ μλ€.
κ°λ° 곡λΆλ₯Ό νλ€ λ³΄λ©΄ μμ κ°μ memeμ μ¬μ¬μΉ μκ² λ³Ό μ μλ€. λ¬Όλ‘ λ¨μν μκ³ λμ΄κ° μΌμ΄ μλλΌ, μ€μ λ‘ μ½λ©μ ν λλ§λ€ κ²ͺλ νμ€μ μΈ λ¬Έμ μ΄κΈ°λ νλ€.
κ·Έλ λ€λ©΄ μ μ¬λλ€μ λ³μλ ν¨μμ μ΄λ¦μ μ§λ λ°μ μ€λ μκ°μ΄ 걸리λ κ±ΈκΉ?
λ§μ½ λ΄κ° μ§ μ½λκ° μλ λ€λ₯Έ μ¬λμ΄ μ§ μ½λλ₯Ό λ°μμ μμ
μ μ΄μ΄λκ°λ€κ³ ν΄λ³΄μ.
λ³λ€λ₯Έ 컨벀μ
μμ΄, κ·Έλ₯ λ§ μ§μ μ΄λ¦λ€λ‘ μμ±ν μ½λλ₯Ό 보면 μ»΄ν¨ν°λ₯Ό λμ§κ³ μΆμ κ²μ΄λ€.
λ§μ½ νμΈκ³Ό νμ
νλ μν©μ΄ μλλλΌλ, λ΄κ° μ§κΈ μ§ μ½λλ₯Ό λ―Έλμ λ΄κ° μμλ³΄μ§ λͺ»νλ μν©λ λ°μνκΈ° λ§€μ° μ½λ€.
νλ‘κ·Έλλ°μμ μ½λμ μλ―Έλ₯Ό μ΄ν΄νλ κ°μ₯ 첫 λ²μ§Έ λ¨μλ λ³μλͺ
κ³Ό ν¨μλͺ
μ΄λ€.
λ§ν¬μ
κ³Ό μ€νμΌλ§μμλ μ¬μ©ν νκ·Έμ μ’
λ₯μ ν΄λμ€ λλ μμ΄λ μ΄λ¦μΌ κ²μ΄λ€.
μλ λ μ½λλ₯Ό λΉκ΅ν΄λ³΄μ. ν μ½λλ div
νκ·Έλ‘λ§ κ΅¬μ‘°νλμ΄ μκ³ , ν μ½λλ μλ§¨ν± μ½λλ₯Ό μ¬μ©νμ¬ κ΅¬μ‘°ννλ€.
// div νκ·Έλ‘λ§ κ΅¬μ‘°ν
<div class="header">
<div class="nav">...</div>
</div>
<div class="main">...</div>
<div class="footer">...</div>
// semantic tagλ₯Ό μ¬μ©νμ¬ κ΅¬μ‘°ν
<header>
<nav>...</nav>
</header>
<main>...</main>
<footer>...</footer>
λ HTML μ½λ λͺ¨λ νλ©΄ μμμλ λμΌνκ² κ΅¬νλλ€. ꡬνλ¨(syntax)μ μμ΄μ μ°¨μ΄λ μμ§λ§, μ½λκ° κ°μ§λ μλ―Έλ‘ μ μΈ κ΄μ μμλ λ λ²μ§Έμ μμ±λ μ½λκ° λ μ’μ μ½λλ€.
μ΄λ κ² νλ©΄ HTML νκ·Έλ§ λ³΄λλΌλ
<header>
β λ¬Έμμ λ¨Έλ¦¬λ§ λΆλΆ<nav>
β λ΄λΉκ²μ΄μ
<main>
β μ£Όμ μ½ν
μΈ <footer>
β λ¬Έμμ λ°λ₯κΈμ΄λΌλ μλ―Έλ₯Ό μμ°μ€λ½κ² μ μκ° μλ€.
λ§μ½ ν΄λμ€λ μμ΄λλ₯Ό 무μμλ‘ μμ±νκ±°λ, μλ§¨ν± νκ·Έλ₯Ό μ§ν€μ§ μμ μ± div
λ span
μ μ΄νμ μ μ§λ³΄μνλ μ¬λμ΄ μ½λλ₯Ό ν΄μνλ λ° λ§μ μκ°μ νλΉν κ²μ΄λ€.
<div class="box1">...</div>
<div class="box2">...</div>
<div class="big-red">...</div>
.box1 {
width: 100px;
height: 100px;
background-color: blue;
}
.box2 {
width: 150px;
height: 150px;
background-color: green;
}
.big-red {
font-size: 24px;
color: red;
}
μ΄ μ½λμμ .box1
, .box2
κ°μ ν΄λμ€λͺ
μ μ΄ μμκ° μ΄λ€ μν μ νλμ§ μ ν μ€λͺ
νμ§ μλλ€.
λν .big-red
λΌλ ν΄λμ€λͺ
μ μ€νμΌμ μ§μ μ μΌλ‘ λνλ΄κ³ μμ΄,
λ§μ½ κΈμ μμ΄ λΉ¨κ°μμμ κ²μμμΌλ‘ λ°λλ€λ©΄ μ΄λ¦κ³Ό μ€μ μ€νμΌμ΄ λΆμΌμΉνκ² λλ€.
<div class="profile-card">...</div>
<div class="notification-box">...</div>
<div class="error-message">...</div>
.profile-card {
width: 100px;
height: 100px;
background-color: blue;
}
.notification-box {
width: 150px;
height: 150px;
background-color: green;
}
.error-message {
font-size: 24px;
color: red;
}
μ΄μ ν΄λμ€ μ΄λ¦λ§ λ΄λ κ°κ°μ ν΄λμ€κ° μ΄λ€ μν μ νλμ§ λΉκ΅μ μ½κ² μ΄ν΄ν μ μλ€.
μ΄λ κ² μλ―Έλ₯Ό λ°μν λ€μ΄λ°μ νλ©΄, μΆν μ μ§λ³΄μν λ μ΄λ¦λ§ λ³΄κ³ λ ν΄λΉ μμμ μν μ νμ
ν μ μκΈ° λλ¬Έμ μ½λμ κ°λ
μ±μ΄ ν₯μλλ€.
μλ λ μ½λ μ€ μ΄λ€ κ²μ΄ λ μ΄ν΄νκΈ° μ¬μΈκΉ?
let x = 5;
let y = x * x * 3.14;
let radius = 5;
let circleArea = radius * radius * Math.PI;
λ μ½λ λͺ¨λ κ°μ μ°μ°μ μννμ§λ§, μ΄λ¦μ μ΄λ»κ² μ§λλμ λ°λΌ μ½λμ μλ―Έκ° λ¬λΌμ§λ€.
첫 λ²μ§Έ μ½λλ x
μ y
κ° λ¬΄μμ μλ―Ένλμ§ λͺ
ννμ§ μμ§λ§,
λ λ²μ§Έ μ½λλ μμ λ°μ§λ¦(radius
)κ³Ό λμ΄(circleArea
)λ₯Ό ꡬνλ μ½λλΌλ κ²μ΄ μ§κ΄μ μΌλ‘ μ΄ν΄λλ€.
λͺ¨λ μΈμ΄κ° κ°μ§λ λ¬Έλ²μ λ€λ₯΄μ§λ§,
semantic
μ μλ―Έμ λͺ©μ μ μ§κ΄μ μ΄κ³ μμ보기 μ¬μ΄ μ΄λ¦κ³Ό ꡬ쑰λ₯Ό ν΅ν΄ μ½λλ₯Ό λμ± λͺ ννκ² λ§λ€κ³ , μ΄λ₯Ό ν΅ν΄ νμ νλ μ¬λλ€ λλ λ―Έλμ μμ μ΄ μ½κ² μ΄ν΄ν μ μλλ‘ λλ λ° μλ€.
μ½λ©μ νλ€λ³΄λ©΄ μλͺ»λ λ¬Έλ²μ μν΄ Syntax Error
κ° λ°μν κ²½νμ΄ μμ κ²μ΄λ€. Syntax Error(λ¬Έλ² μ€λ₯)κ° λ°μνλ©΄, μ£Όλ‘ μ»΄νμΌ μΈμ΄λ μ€ν μμ²΄κ° μ λλ κ²½μ°κ° λ§κ³ , μΈν°νλ¦¬ν° μΈμ΄λ λ°νμμμ μνλ λλ‘ λμνμ§ μλ κ²½μ°κ° λ§μ κ²μ΄λ€.
Syntax Errorλ κ·Έ μμ²΄λ‘ 'λ²κ·Έ'λ‘ μ·¨κΈλκΈ° λλ¬Έμ, μ λ μμ΄μΌ νλ μ€λ₯μ΄μ μ κ±° 1μμ μ€λ₯μ΄λ€.
Syntax Errorλ λͺ
λ°±ν μλͺ»λ μ½λλ‘ μΈν΄ λ°μνλ μ€λ₯μ΄λ―λ‘, νλ‘κ·Έλ¨ μ€νμ λ°©ν΄νλ©° μ΄λ₯Ό ν΄κ²°ν΄μΌλ§ μ μμ μΈ λμμ ν μ μλ€. κ·Έλ λ€λ©΄ Semantic Error
λ 무μμΌκΉ?
Semantic Error
λ λ¬Έλ²μμΌλ‘λ λ¬Έμ κ° μλ μ½λμμ λ°μνλ μ€λ₯λ‘, μλν λλ‘ λμνμ§ μλ κ²½μ°λ₯Ό λ§νλ€. μ¦, μ½λκ° μ»΄νμΌλκ±°λ μ€νλμ§λ§, κ·Έ κ²°κ³Όκ° μ°λ¦¬κ° κΈ°λνλ λμκ³Ό λ§μ§ μμ λ μκΈ΄λ€. μ΄λ μ½λμ μλ―Έκ° μλͺ» ν΄μλμκ±°λ μλͺ» μμ±λμκΈ° λλ¬Έμ΄λ€.