λ³μλ νλ‘κ·Έλλ° μΈμ΄μμ λ°μ΄ν°λ₯Ό κ΄λ¦¬νκΈ° μν ν΅μ¬ κ°λ μ΄λ€.λ©λͺ¨λ¦¬λ λ°μ΄ν°λ₯Ό μ μ₯ν μ μλ λ©λͺ¨λ¦¬ μ μ μ§ν©μ²΄μ΄λ€.μ νλμ ν¬κΈ°λ 1λ°μ΄νΈμ΄λ©°, μ»΄ν¨ν°λ 1λ°μ΄νΈ λ¨μλ‘ λ°μ΄ν°λ₯Ό μ μ₯νκ³ μ½λλ€.κ° μ μ κ³ μ μ λ©λͺ¨λ¦¬ μ£Όμλ₯Ό κ°λλ€. λ©λͺ¨λ¦¬ μ£Όμλ₯Ό ν΅ν΄ κ°μ
κ°μ μμ΄ νκ°λμ΄ μμ±λ κ²°κ³Όμ΄λ€.10 + 20 // 30리ν°λ΄μ μ¬λμ΄ μ΄ν΄ν μ μλ λ¬Έμ λ κΈ°νΈλ₯Ό μ¬μ©ν΄ κ°μ μμ±νλ νκΈ°λ²μ΄λ€.κ°μ μμ±νκΈ° μν΄ λ―Έλ¦¬ μ½μν νκΈ°λ²ννμμ κ°μΌλ‘ νκ°λ μ μλ λ¬Έμ΄λ€. ννμμ΄ νκ°λλ©΄ μλ‘μ΄ κ°μ μμ±νκ±°λ κΈ°μ‘΄κ°μ
λ°μ΄ν° νμ = νμ μ κ°μ μ’ λ₯λ₯Ό λ§νλ€.JSμ λͺ¨λ κ°μ λ°μ΄ν° νμ μ κ°λλ€.7κ°μ λ°μ΄ν° νμ μ μμνμ κ³Ό κ°μ²΄ νμ μΌλ‘ λΆλ₯λλ€.μμνμ μ«μλ¬Έμbooleanundefinednullsymbolκ°μ²΄ νμ κ°μ²΄ ν¨μ λ°°μ΄ ..C, μλ°μ κ²½μ° int, long, f
μ°μ°μλ ννμμ λμμΌλ‘ νλμ κ°μ λ§λ λ€.μ΄ λ μ°μ°μ λμμ νΌμ°μ°μλΌκ³ νλ€.μ°μ°μλ κ°μΌλ‘ νκ°λ νΌμ°μ°μλ₯Ό μ°μ°ν΄ μλ‘μ΄ κ°μ λ§λ λ€.μνμ κ³μ°μ μνν΄ μλ‘μ΄ μ«μ κ°μ λ§λ λ€.λκ°μ νΌμ°μ°μλ₯Ό μ°μ ν΄ μ«μλ₯Ό λ§λ λ€.\+,-,\*,/,% μ΄ μλ€.1κ°μ
μ μ΄λ¬Έμ νλ‘κ·Έλ¨μ μ€ν νλ¦μ μ μ΄νλ μμμ΄λ€.μ€κ΄νΈλ‘ λ¬ΆμΈ μ½λ λΈλ‘μ μλ―Ένλ€.JSλ λΈλ‘λ¬Έμ νλμ μ€ν λ¨μλ‘ μ·¨κΈνλ€.쑰건문μ μ£Όμ΄μ§ 쑰건μμ νκ° κ²°κ³Όμ λ°λΌ μ½λ λΈλ‘μ μ€νμ΄ λλ€.μ£Όμ΄μ§ μ‘°κ±΄μ΄ μ°ΈμΈ κ²½μ°μλ§ μ½λλΈλ‘μ μ€ννλ€.else : ifλ¬Έμ
λ€λ₯Έ νμ μΌλ‘ λ³νν μ μλ κ²JS μμ§μ ννμμ μλ¬ μμ΄ νκ°νκΈ° μν΄μ νΌμ°μ°μμ κ°μ μ묡μ νμ λ³ννμ¬ μ¬μ©νλ€.λ¬Έμλ‘ λ³νconst x = 10const y = x + '' => y = stringundefined + '' = > "undefined"μ«
κ°μ²΄λ μμ κ°μ μ μΈν λλ¨Έμ§ κ°μ λ€ κ°μ²΄λΌκ³ 보면 λλ€.μμ νμ μ λ¨ νλμ κ°λ§ λνλ΄μ§λ§,κ°μ²΄ νμ μ λ€μν νμ μ κ°μ νλμ λ¨μλ‘ κ΅¬μ±ν 볡ν©μ μΈ μλ£κ΅¬μ‘°μ΄λ€.μμ νμ μ κ°μ λ³κ²½ λΆκ°λ₯ν κ°μ΄μ§λ§,κ°μ²΄λ λ³κ²½ κ°λ₯ν κ°μ΄λ€.κ°μ²΄λ νλ‘νΌν°λ‘ ꡬμ±λ
μμνμ : λ³κ²½ λΆκ°λ₯ν κ°, κ°μ²΄ : λ³κ²½ κ°λ₯ν κ°μμ κ°μ λ³μμ ν λΉνλ©΄, μ€μ κ°μ΄ μ μ₯λκ³ κ°μ²΄λ₯Ό λ³μμ ν λΉνλ©΄, λ³μμλ μ°Έμ‘° κ°μ΄ μ μ₯λλ€. λ³μλ νλμ κ°μ μ μ₯νκΈ° μν΄ ν보ν λ©λͺ¨λ¦¬ κ³΅κ° μ체μ μ΄λ¦μ΄λ€.κ°μ λ³μμ μ μ₯λ λ°μ΄ν°λ‘ ννμμ΄ ν
12.1 ~ 12.4ν¨μλ JSμμ κ°μ₯ μ€μν ν΅μ¬ κ°λ μ΄λ€.μΌλ°μ μΌλ‘ ν¨μλ μ λ ₯κ°μ΄ μμΌλ©΄ μΆλ ₯μ λ΄λ³΄λ΄λ κ³Όμ μ΄λ€.νλ‘κ·Έλλ° μΈμ΄μ ν¨μλ μΌλ ¨μ κ³Όμ μ λ¬ΈμΌλ‘ ꡬννκ³ μ½λ λΈλμΌλ‘ κ°μΈ νλμ μ€ν λ¨μλ‘ μ μν κ²λ§€κ°λ³μ : ν¨μ λ΄λΆλ‘ μ λ¬λ°λ λ³μμΈμ
12.5 ~ ν¨μμ νμν κ°μ 맀κ°λ³μ (parameter)λ₯Ό ν΅ν΄ μΈμλ₯Ό μ λ¬νλ€.맀κ°λ³μλ ν¨μλ₯Ό μ μν λ μ μΈνλ€.ν¨μκ° νΈμΆλλ©΄ ν¨μ λͺΈμ²΄ λ΄μμ μμμ μΌλ‘ μμ±λκ³ , undefinedκ° ν λΉλλ€.ν¨μμ 맀κ°λ³μλ₯Ό ν λΉνμ§ μμλ μλ¬λ μκΈ°μ§ μλλ€.μ΄κ³Όλ
μ€μ½νλ μλ³μκ° μ ν¨ν μ ν¨λ²μλ₯Ό λ»νλ€.λͺ¨λ μλ³μλ μμ μ΄ μ μΈλ μ체μ μν΄ λ€λ₯Έ μ½λκ° μμ μ μ°Έμ‘°ν μ μλ μ ν¨ λ²μκ° κ²°μ λλ€.λ³μλ μμ μ΄ μ μΈλ μ체μ μν΄ μμ μ΄ μ ν¨ν λ²μ, μ¦ λ€λ₯Έ μ½λκ° λ³μ μμ μ μ°Έμ‘°ν μ μλ λ²μκ° κ²°μ λλ€.var μ
μ μ λ³μλ μννλ€ λΌλ λ§μ΄ λ§μ΅λλ€.μ μ μλ³μκ° μννκ³ , μ¬μ©μ μ΅μ ν μ μλ λ°©λ²μ λν΄ μμλ³΄κ² μ΅λλ€.μ§μ λ³μκ° μνν μ΄μ λ μλͺ μ£ΌκΈ°μ μ°κ΄μ΄ μμ΅λλ€.λ³μλ μ μΈμ μν΄ μμ±λκ³ ν λΉμ ν΅ν΄ κ°μ κ°μ§κ³ μλ©Ένλ κ³Όμ μ μλͺ μ£ΌκΈ°λΌκ³ ν©λλ€.μλͺ μ£Ό
ES5κΉμ§λ varλ°μ λ³μλ₯Ό μ μΈν μ μλ λ°©λ²μ΄ μμλ€.νμ§λ§ varλ μ¬λ¬ λ¬Έμ λ₯Ό λ°μ μν¬ μ μλ€.λ©λͺ¨λ¦¬ λμλλ²κΉ μ΄λ ΅λ€.κ°λ μ± λ¨μ΄μ§λ€.varλ μ€λ³΅ μ μΈμ΄ κ°λ₯νλ€. κ·Έλμ μ΄λ―Έ μ μΈλμ΄ μλ κ°μ μλμΉ μκ² λ³κ²½ν΄λ²λ¦΄ μ μκΈ° λλ¬Έμ λΆμμ©μ΄ λ°μν
λ΄λΆ μ¬λ‘―κ³Ό λ΄λΆ λ©μλλ JS μμ§μ ꡬν μκ³ λ¦¬μ¦μ μ€λͺ νκΈ° μν μμ¬ νλ‘νΌν°μ λ©μλμ΄λ€.μ΄λ€μ μ€μ λ‘ λμμ νμ§λ§ μΈλΆλ‘ 곡κ°λ κ°μ²΄λ μλλ€.μ΄μ€ λκ΄νΈλ‘ κ°μΌ μ΄λ¦λ€μ΄ λ΄λΆ μ¬λ‘―κ³Ό λ©μλμ΄λ€.λͺ¨λ κ°μ²΄λ \[\[Prototype]] μ΄λΌλ λ΄λΆ μ¬λ‘―μ κ°
μ€κ΄νΈλ₯Ό μ§μ μ΄μ΄ μ¬μ©νλ κ°μ²΄ 리ν°λ΄ λ°©μ ({}) μ΄μΈμλ κ°μ²΄λ₯Ό μμ±νλ λ°©λ²μ μ¬λ¬κ°μ§μ΄λ€.new μ°μ°μμ Object μμ±μ ν¨μλ₯Ό νΈμΆνλ©΄ λΉ κ°μ²΄λ₯Ό μμ±νμ¬ λ°ννλ€.μμ±μ ν¨μμ μν΄ μμ±λ κ°μ²΄λ₯Ό μΈμ€ν΄μ€ λΌκ³ νλ€.JSμλ String, Number
μΌκΈ κ°μ²΄ λ λ€μ 쑰건μ λ§μ‘±νλ κ°μ²΄λ₯Ό λ»νλ€.ν¨μλ μΌκΈ κ°μ²΄μ΄κΈ° λλ¬Έμ, ν¨μλ₯Ό μλ₯Ό ν΅ν΄ 쑰건μ μ€λͺ νλ€.무λͺ μ 리ν°λ΄λ‘ μμ± κ°λ₯ νλ€ (λ°νμμ μμ±μ΄ κ°λ₯νλ€)const increase = function (num) {return ++num}λ³μλ μλ£κ΅¬
λ°μ΄ν°μ κ΄ν λ΄μ©μΌλ‘, κΈ°λ³Έν νμ κ³Ό μ°Έμ‘°ν νμ μ΄ μλ‘ λ€λ₯΄κ² λμνλ μ΄μ λ₯Ό μμλ³΄κ³ , νμ©ν μ μκ² ν©λλ€. ν¬κ² κΈ°λ³Ένκ³Ό μ°Έμ‘°νμ λκ°μ§μ μ’ λ₯κ° μμ΅λλ€. κΈ°λ³Έν : μ«μ λ¬Έμ λΆλ¦¬μΈ null undefined... symbol(ES6)μ°Έμ‘°ν : κ°μ²΄ λ°°μ΄
μ€ν 컨ν μ€νΈλ μ€νν μ½λλ₯Ό μ 곡ν νκ²½ μ 보λ€μ λͺ¨μλμ κ°μ²΄λ‘, JSκ° λμ μΈμ΄λ‘μμ μ±κ²©μ μ νμ ν μ μλ κ°λ μ λλ€. μ€ν 컨ν μ€νΈλ λμΌν νκ²½μ μλ μ½λλ€μ μ€νν λ νμν νκ²½ μ 보λ€μ λͺ¨μ 컨ν μ€νΈλ₯Ό ꡬμ±νκ³ , μ΄λ₯Ό μ½ μ€νμ μμ μ¬λ¦½λλ€.
λ€λ₯Έ κ°μ²΄μ§ν₯ μΈμ΄μμ thisλ ν΄λμ€λ‘ μμ±ν μΈμ€ν΄μ€ κ°μ²΄λ₯Ό μλ―Έν©λλ€. νμ§λ§ JSμμμ Thisλ μ΄λμλ μ¬μ©ν μ μμ΅λλ€. μν©μ λ°λΌ this κ° λ°λΌλ³΄λ λμμ΄ λ¬λΌμ§κ² λ©λλ€.JSμμ thisλ κΈ°λ³Έμ μΌλ‘ μ€ν 컨ν μ€νΈκ° μμ±λ λ ν¨κ» κ²°μ λ©λλ€.
μ½λ°± ν¨μλ λ€λ₯Έ μ½λμ μΈμλ‘ λ겨주λ ν¨μμ λλ€. λ겨λ°μ μ½λλ νμμ λ°λΌ μ μ ν μμ μ μ€νν κ²μ λλ€.μ½λ°±ν¨μλ μ μ΄κΆκ³Ό κ΄λ ¨μ΄ κΉμ΅λλ€. λ€λ₯Έ μ½λμκ² μΈμλ‘ λ겨μ€μΌλ‘μ¨ κ·Έ μ μ΄κΆλ ν¨κ» μμν ν¨μμ λλ€.setIntervalμ ν΅ν΄ μμλ³΄κ² μ΅λλ€. se
ν΄λ‘μ λ ν¨μν νλ‘κ·Έλλ° μΈμ΄μμ λ±μ₯νλ νΉμ±μ λλ€. JS λ§μ νΉμ§μ μλλλ€. κ·Έλμ λ§μ μ μλ€μ΄ μλλ° μ»¨ν μ€νΈλ₯Ό ν΅ν΄ μμλ³΄κ² μ΅λλ€.Aμμ μ μΈν λ΄λΆν¨μ Bμ μ€ν 컨ν μ€νΈκ° νμ±νλλ μμ μλ Bμ outerEnvironmentReferenceκ° μ°Έμ‘°ν
JSλ νλ‘ν νμ κΈ°λ° μΈμ΄ μ λλ€. ν΄λμ€ κΈ°λ° μΈμ΄μμλ 'μμ'μ μ¬μ©νμ§λ§ νλ‘ν νμ μΈμ΄λ μ΄λ€ κ°μ²΄λ₯Ό μν(prototype)μΌλ‘ μΌκ³ μ΄λ₯Ό 볡μ (μ°Έμ‘°) ν¨μΌλ‘μ¨ μμκ³Ό λΉμ·ν ν¨κ³Όλ₯Ό μ»μ΅λλ€.!\[Pasted image 20231113112010.png]ν