JavaScript Word
Table of contents
- μλ‘ λμ€λ λ¨μ΄λ ν΄λΉ μμ μλ¨ λΈλ‘μΈμ©κ΅¬ μμ λ£λλ€.
- μμ μλ¨ λΈλ‘μΈμ©κ΅¬μμ μ€μν λ¨μ΄λ κ΅΅κ² νμνλ€.
리ν°λ΄κ³Ό ννμ κ·Έλ¦¬κ³ μλ³μμ λ³μ
literal, expression, evaluation, operator, value, variable, identifier, declarations, assignment, constant
리ν°λ΄(literal)μ μμ€ μ½λμμ ννμ(expression)μΌλ‘ νκ°(evaluation) λκ±°λ ννμμ μΌλΆκ° λ μ μλ€.
ννμμ 리ν°λ΄κ³Ό μ°μ°μ(operator)λ‘ μ΄λ£¨μ΄μ Έ μλ€.
ννμμ νκ°λμ΄ κ°(value)μ΄ λ μ μλ€.
λ³μ μ μΈ ν€μλ(var
, let
, const
)λ‘ λ³μ(variable)μ μλ³μ(identifier)λ₯Ό λ°μΈλ© νλ€.
μλ³μλ μ μΈλ¬Έ(λ³μ μ μΈλ¬Έ, ν¨μ μ μΈλ¬Έ)μμλ§ μ¬μ©λλ€.
μλ³μλ₯Ό λ§λ€μ΄ λ΄λ μΌμ μ μΈ(declaration)μ΄λΌκ³ λ ν μ μλ€.
λͺ¨λ μλ³μλ μ μ κ°μ²΄μ νλ‘νΌν°κ° λλ€.
λͺ¨λ λ³μ μ μΈμ undefined
λ‘ μ΄κΈ°ν κ°μ΄ ν λΉ λλ€.
μ μΈλ λ³μμ ν λΉ μ°μ°μ(=
)λ₯Ό μ΄μ©ν΄ κ°μ ν λΉ(assignment) ν μ μλ€.
(μ΄λ λ³μλ κ°μ λ©λͺ¨λ¦¬ 곡κ°μ μμΉλ₯Ό κ°λ₯΄ν¨λ€, λ³μκ° λ©λͺ¨λ¦¬ 곡κ°μ μλλ€)
μλ³μλ₯Ό μ΄μ©ν΄ λ³μλ₯Ό νΈμΆνμ¬ κ°μ μ¬μ© ν μ μλ€.
μνμ μλ―Έμ μμκ° μλλΌ μ¬ν λΉμ λͺ»νλ λ³μλ₯Ό μμ(constant)λΌκ³ λΆλ₯Έλ€.
(μ¬ν λΉμ ν μ μμ΄μ λ³μμ μ μ₯λ κ°μ λ³κ²½ν μ μλ€λ©΄ λ³μκ° μλλΌ μμλΌ λΆλ₯Έλ€)
λ°μ΄ν° νμ μλ μμνκ³Ό μ°Έμ‘°νμ΄ μλ€
data type, primitive data type, reference type, object type, immutable value, pass-by-value, mutable value, pass-by-reference, type casting, implicit coercion, type coercion
μλ°μ€ν¬λ¦½νΈμ μλ£ν(data type)μλ ν¬κ² μμ λ°μ΄ν° νμ (primitive data type)κ³Ό μ°Έμ‘° νμ / κ°μ²΄ νμ (reference type / object type)μΌλ‘ λΆλ₯ λλ€.
μμ λ°μ΄ν° νμ
μ λ³κ²½ λΆκ°λ₯ν κ°(immutable value), κ°μ μν μ λ¬(pass-by-value)μ΄κ³ string
, number
, boolean
, undefined
, null
, symbol
, bigint
μ΄ μλ€.
string
ν° λ°μ΄ν(β) νΉμ μμ λ°μ΄ν(β)λ‘ λ¬ΆμΈ 0κ° μ΄μμ λ¬Έμμ΄μ νν
number
μ«μλ₯Ό νν, νΉμν κ°μΈ NaN
(Not a Number)λ μλ€.
ννν μ μλ μ μμ νκ³λ Β±253 μ΄λ€.
boolean
λ
Όλ¦¬ true
/ false
λ₯Ό νν
undefined
μ΄κΈ°ν κ³Όμ μμ ν λΉλλ νΉμν κ°, μ μΈ μ΄ν κ°μ ν λΉνμ§ μμ λ³μλundefined
λ₯Ό κ°μ§λ€.
null
μλμ μΌλ‘ κ°μ΄ μλ€λ κ²μ λͺ
μν λ μ¬μ©
(ν¨μκ° νΈμΆλμμΌλ μ ν¨ν κ°μ λ°νν μ μλ κ²½μ°, λͺ
μμ μΌλ‘ null
μ λ°ννκΈ°λ νλ€)
symbol
μ μΌν μλ³μλ₯Ό λ§λ€κΈ° μν΄ μ¬μ©λλ©° λͺ¨λ μ¬λ³Ό κ°μ κ³ μ νκ³ , μ¬λ³Όμ λ°ννλ Symbol()
λ©μλλ‘ λ§λ€μ μλ€.
bigint
κΈΈμ΄μ μκ΄μμ΄ μ μλ₯Ό λνλΌ μ μκ³ μ μ 리ν°λ΄ λμ nμ λΆμ΄λ©΄ λ§λ€ μ μλ€.
(μ«μνμ΄ κ°μ§ νκ³λ³΄λ€ λ ν° μ μλ₯Ό νννκΈ° μν΄ λ§λ€μ΄μ‘κ³ κ°μ₯ μ΅κ·Όμ μΆκ°λ μμ λ°μ΄ν° νμ
μ΄λ€)
μ°Έμ‘° νμ / κ°μ²΄ νμ μ λ³κ²½ κ°λ₯ν κ°(mutable value), μ°Έμ‘°μ μν μ λ¬(pass-by-reference)μ΄λ€.
μλ°μ€ν¬λ¦½νΈλ μμ λ°μ΄ν° νμ
κ°μ μ μΈν λͺ¨λ κ°μ λ°μ΄ν° νμ
μ object
μ΄λ€.
(ν¨μ λν object
μ΄μ§λ§ typeof
λ‘ νμΈνλ©΄ function
μΌλ‘ λμ¨λ€)
κ°μ νμ μ λ€λ₯Έ νμ μΌλ‘ λ³νν μ μλ€.
κ°λ°μκ° μλμ μΌλ‘ νμ μ λ³ννλ κ²μ λͺ μμ νμ λ³ν, νμ μΊμ€ν (type casting)μ΄λΌ νλ€.
μλ°μ€ν¬λ¦½νΈ μμ§μ μν΄ μλμΌλ‘ νμ μ΄ λ³ν λλ κ²μ μ묡μ νμ λ³ν(implicit coercion), νμ κ°μ λ³ν(type coercion)μ΄λΌκ³ νλ€.
κ°μ²΄λ νλ‘νΌν°λ₯Ό μ£κ³
object, property, method, property key, property value, symbol
μν λ°μ΄ν°μ λμμ νλμ λ Όλ¦¬μ μΈ λ¨μλ‘ λ¬Άμ 볡ν©μ μΈ μλ£ κ΅¬μ‘°λ₯Ό κ°μ²΄(object)λΌ νλ€.
μλ°μ€ν¬λ¦½νΈμμ κ°μ²΄λ₯Ό μμ±νλ 5κ°μ§ λ°©λ²
- κ°μ²΄ 리ν°λ΄
- μμ±μ ν¨μ
- ν΄λμ€ (ES6)
- Object μμ±μ ν¨μ (λΉ κΆμ₯)
- Object.create λ©μλ (λΉ κΆμ₯)
κ°μ²΄ λ΄λΆλ μν λ°μ΄ν°μΈ νλ‘νΌν°(property)μ λμμ νλ λ©μλ(method)λ‘ μ΄λ£¨μ΄μ Έ μλ€.
νλ‘νΌν°λ νλ‘νΌν° ν€(property key)μ νλ‘νΌν° κ°(property value)μΌλ‘ μ΄λ£¨μ΄μ Έ μλ€.
νλ‘νΌν° ν€λ νλ‘νΌν°μ μλ³μλ‘ μ¬μ©λκ³ λΉ λ¬Έμμ΄μ ν¬ν¨νλ λͺ¨λ λ¬Έμμ΄ λλ symbol κ°λ§ μ¬μ©νλ€. λν λ¬Έμ μ΄μ΄μ§λ§ '
λ₯Ό μλ΅νλ€. κ·Έλ¦¬κ³ μλ³μ λͺ
λͺ
κ·μΉμ λ°λΌ μ΄λ¦μ μ νλ€.
νλ‘νΌν° κ°μ μλ°μ€ν¬λ¦½νΈμμ μ¬μ©ν μ μλ λͺ¨λ κ°μ κ°μ§ μ μλ€.
νλ‘νΌν°μ κ°μ΄ ν¨μμΈ κ²μ λ©μλλΌκ³ νλ€. (ν¨μλ κ°μΌλ‘ νκ° λ μ μλ€)
- 리ν°λ΄
- λ°μ΄ν° νμ
- νλΌμ΄λ―Έν°λΈ λ°μ΄ν° νμ
- μ€λΈμ νΈ νμ / λ νΌλ°μ€ νμ
- λ³μ
- μλ³μ
- νΈμ΄μ€ν
- ν¨μ νΈμ΄μ€ν
- λ³μ νΈμ΄μ€ν
- κ°
- ννμ
- λ¬Έ(statement)
- μ°μ°μ
- ν λΉλ¬Έ
- μ μ΄λ¬Έ
- νμ
λ³ν
- μ묡μ νμ λ³ν
- λͺ μμ νμ λ³ν
- κ°μ²΄
- μΌλ° κ°μ²΄
- ν¨μ κ°μ²΄
- μ μ κ°μ²΄
- κ°μ²΄μ μμ± λ°©λ²
- κ°μ²΄ 리ν°λ΄
- μμ±μ ν¨μ μ΄μ©
- νλ‘νΌν°
- νλ‘νΌν° ν€
- νλ‘νΌν° κ°
- λ°μ΄ν° νλ‘νΌν°
- μ‘μΈμ€ νλ‘νΌν°
- μ μ νλ‘νΌν°
- ν¨μ
- νλΌλ―Έν°
- μκ·λ¨ΌνΈ
- ν¨μκ° κ°μ§λ νλ‘νΌν° 5κ°μ§
- λ©μλ
- λ΄λΆ λ©μλ
- μ μ λ©μλ
- μμ±μ ν¨μ
- μ€μ½ν
- μ€μ½ν 체μΈ
- λ μ컬 μ€μ½ν
- νλ‘ν νμ
- νλ‘ν νμ 체μΈ
- this
- μ€ν 컨ν μ€νΈ
- ν΄λ‘μ
- μκ·λ¨ΌνΈ
- λΉλκΈ°
- μ΄λ²€νΈ 루ν