λͺ©λ‘μ 체 κΈ (244)
π€ μμ§log π€
β λ°°μ΄ μΆκ° : Array.push() Array.unshift() Array.splice() let arr = [ 'a', 'b', 'c']; arr.push('d'); // arr = ['a', 'b', 'c', 'd'] λ°°μ΄μ λμ μμ μΆκ° let arr = [ 'a', 'b', 'c']; arr.unshift('d'); // arr = ['d', 'a', 'b', 'c'] λ°°μ΄μ μμ μμ μΆκ° let arr = [ 'a', 'b', 'c']; arr.splice(2,0,'d'); // arr = ['a', 'b', 'd', 'c'] index 2μ μμ μΆκ° let arr = [ 'a', 'b', 'c']; arr.splice(4,0,'e','f'); // arr = ['a', 'b', '..
π£ μΌκΈ κ°μ²΄ 무λͺ μ 리ν°λ΄λ‘ μμ±ν μ μλ€. μ¦, λ°νμμ μμ±μ΄ κ°λ₯νλ€. λ³μλ μλ£κ΅¬μ‘°(κ°μ²΄,λ°°μ΄ λ±)μ μ μ₯ν μ μλ€. ν¨μμ 맀κ°λ³μμ μ λ¬ν μ μλ€. ν¨μμ λ°νκ°μΌλ‘ μ¬μ©ν μ μλ€. ν¨μλ κ°μ μ¬μ©ν μ μλ κ³³(λ³μ ν λΉλ¬Έ, κ°μ²΄μ νλ‘νΌν° κ°, λ°°μ΄μ μμ, ν¨μ νΈμΆμ μΈμ, ν¨μ λ°νλ¬Έ)μ΄λΌλ©΄ μ΄λμλ μ§ λ¦¬ν°λ΄λ‘ μ μν μ μμΌλ©° λ°νμμ ν¨μ κ°μ²΄λ‘ νκ°λλ€. μΌκΈ κ°μ²΄λ‘μ ν¨μκ° κ°μ§λ κ°μ₯ ν° νΉμ§μ μΌλ° κ°μ²΄μ κ°μ΄ ν¨μμ 맀κ°λ³μμ μ λ¬ν μ μμΌλ©°, ν¨μμ λ°νκ°μΌλ‘ μ¬μ©ν μλ μλ€λ κ²μ΄λ€. ν¨μλ κ°μ²΄ μ΄μ§λ§ μΌλ° κ°μ²΄μλ μ°¨μ΄κ° μλ€. μΌλ° κ°μ²΄λ νΈμΆν μ μμ§λ§ ν¨μ κ°μ²΄λ νΈμΆν μ μλ€. κ·Έλ¦¬κ³ ν¨μ κ°μ²΄λ μΌλ° κ°μ²΄μλ μλ ν¨μ κ³ μ μ νλ‘νΌν°λ₯Ό μμ νλ€...
π£ Object μμ±μ ν¨μ newμ°μ°μμ ν¨κ» Object μμ±μ ν¨μλ₯Ό νΈμΆνλ©΄ λΉ κ°μ²΄λ₯Ό μμ±νμ¬ λ°ννλ€. λΉ κ°μ²΄λ₯Ό μμ±ν μ΄ν νλ‘νΌν° λλ λ©μλλ₯Ό μΆκ°νμ¬ κ°μ²΄λ₯Ό μμ±ν μ μλ€. μμ±μ ν¨μλ new μ°μ°μμ ν¨κ» νΈμΆνμ¬ κ°μ²΄(μΈμ€ν΄μ€)λ₯Ό μμ±νλ ν¨μλ₯Ό λ§νλ€. μμ±μ ν¨μμ μν΄ μμ±λ κ°μ²΄λ₯Ό μΈμ€ν΄μ€λΌ νλ€. π£ μμ±μ ν¨μ κ°μ²΄ 리ν°λ΄μ μν κ°μ²΄ μμ± λ°©μμ λ¬Έμ μ κ°μ²΄ 리ν°λ΄μ μν κ°μ²΄ μμ± λ°©μμ μ§κ΄μ μ΄κ³ κ°νΈνλ€. νμ§λ§ κ°μ²΄ 리ν°λ΄μ μν κ°μ²΄ μμ± λ°©μμ λ¨ νλμ κ°μ²΄λ§ μμ±νλ€. λ°λΌμ λμΌν νλ‘νΌν°λ₯Ό κ°λ κ°μ²΄λ₯Ό μ¬λ¬ κ° μμ±ν΄μΌ νλ κ²½μ° λ§€λ² κ°μ νλ‘νΌν°λ₯Ό κΈ°μ ν΄μΌ νκΈ° λλ¬Έμ λΉν¨μ¨μ μ΄λ€. κ°μ²΄ 리ν°λ΄μ μν΄ κ°μ²΄λ₯Ό μμ±νλ κ²½μ° νλ‘νΌν° κ΅¬μ‘°κ° λμΌ..
π£ λ΄λΆ μ¬λ‘―κ³Ό λ΄λΆ λ©μλ λ μλ°μ€νΈλ¦½νΈ μμ§μ ꡬν μκ³ λ¦¬μ¦μ μ€λͺ νκΈ° μν΄ ECMAScript μ¬μμμ μ¬μ©νλ μμ¬ νλ‘νΌν°μ μμ¬ λ©μλ λ€. μ΄μ€ λκ΄νΈ [[...]]λ‘ κ°μΌ μ΄λ¦λ€μ΄ λ΄λΆ μ¬λ‘―κ³Ό λ΄λΆ λ©μλλ€. λ΄λΆ μ¬λ‘―κ³Ό λ΄λΆ λ©μλλ μλ°μ€ν¬λ¦½νΈ μμ§μ λ΄λΆ λ‘μ§μ΄λ―λ‘ μμΉμ μΌλ‘ μλ°μ€ν¬λ¦½νΈλ λ΄λΆ μ¬λ‘―κ³Ό λ΄λΆ λ©μλμ μ§μ μ μΌλ‘ μ κ·Όνκ±°λ νΈμΆν μ μλ λ°©λ²μ μ 곡νμ§ μλλ€. π£ νλ‘νΌν° μ΄νΈλ¦¬λ·°νΈμ λμ€ν¬λ¦½ν° κ°μ²΄ μλ°μ€ν¬λ¦½νΈ μμ§μ νλ‘νΌν°λ₯Ό μμ±ν λ νλ‘νΌν°μ μνλ₯Ό λνλ΄λ νλ‘νΌν° μ΄νΈλ¦¬λ·°νΈλ₯Ό κΈ°λ³Έκ°μΌλ‘ μλ μ μ νλ€. (νλ‘νΌν°μ μνλ νλ‘νΌν°μ κ°, κ°μ κ°±μ κ°λ₯ μ¬λΆ, μ΄κ±° κ°λ₯ μ¬λΆ, μ¬μ μ κ°λ₯ μ¬λΆλ₯Ό λ§νλ€.) νλ‘νΌν° μ΄νΈλ¦¬λ·°νΈλ μλ°μ€ν¬λ¦½νΈ μμ§μ΄ κ΄μ΄..
λͺ¨λ μλ³μ( λ³μμ΄λ¦, ν¨μμ΄λ¦, ν΄λμ€ μ΄λ¦ λ±)λ μμ μ΄ μ μΈλ μμΉμ μν΄ λ€λ₯Έ μ½λκ° μλ³μ μμ μ μ°Έμ‘°ν μ μλ μ ν¨λ²μκ° κ²°μ λλ€. μ€μ½νλ μλ³μκ° μ ν¨ν λ²μλ₯Ό λ§νλ€. μλ³μλ μ΄λ€ κ°μ ꡬλ³ν μ μμ΄μΌ νλ―λ‘ μ μΌ ν΄μΌ νλ€. μ μκ³Ό μ μ μ€μ½ν ( Global Scope ) μ μμ΄λ μ½λμ κ°μ₯ λ°κΉ₯ μμμ λ§νκ³ μ μ μ€μ½νλ₯Ό λ§λ λ€ μ μλ³μλ μ΄λμλ μ§ μ°Έμ‘°ν μ μλ€. μ§μκ³Ό μ§μ μ€μ½ν ( Local Scope ) μ§μμ΄λ ν¨μ λͺΈμ²΄ λ΄λΆλ₯Ό λ§νκ³ μ§μ μ€μ½νλ₯Ό λ§λ λ€ μ§μλ³μλ μμ μ μ§μ μ€μ½νμ νμ μ§μ μ€μ½νμμ μ ν¨ νλ€. βοΈ μμμλ λ°μ λ³Ό μ μμ§λ§ λ°μμλ μμ λ³Ό μ μκ³ μ κ·Όμ΄ μλλ€. π μ μ λ³μμ λ¬Έμ μ μ μλ³μμ 무λΆλ³ν μ¬μ©μ μννλ€. μ μ..
ν¨μλ μλ°μ€ν¬λ¦½νΈμμ κ°μ₯ μ€μν ν΅μ¬ κ°λ μ΄λ©°, λ λ€λ₯Έ μ€μν ν΅μ¬ κ°λ λ€( μ€μ½ν, μ€ν 컨ν μ€νΈ, ν΄λ‘μ , μμ±μ ν¨μμ μν κ°μ²΄ μμ±, λ©μλ, this, νλ‘ν νμ , λͺ¨λν λ±)κ³Ό κΉμ κ΄λ ¨μ΄ μλ€. ν¨μλ λ€λ₯Έ λ³μμ λ§μ°¬κ°μ§λ‘ λ³μμ ν λΉμ΄ λκ³ ν¨μμ λ§€κ° λ³μλ‘ μ λ¬μ΄ λλ©° 리ν΄κ°μΌλ‘λ 리ν΄μ΄ λλ€. (Function Expression) ν¨μλ νλ‘κ·Έλ¨μ ꡬμ±νλ κΈ°λ³Έμ μ΄ building block μ΄λ©° sub-program μ΄λΌκ³ λ λΆλ¦¬λ©° μ¬λ¬λ² μ¬μ¬μ© κ°λ₯νλ€λ μ₯μ μ΄ μλ€. νκ°μ§ task λ μ΄λ ν κ°μ κ³μ°νκΈ° μν΄ μ¬μ©νλ€. βοΈ ν¨μλ input κ³Ό outputμ΄ μ€μνκ³ ν¨μμ μ΄λ¦μ μ νλκ²μ΄ μ€μ! function name(param1, param2) { body..
μμ νμ κ³Ό κ°μ²΄ νμ μ ν¬κ² μΈ κ°μ§ μΈ‘λ©΄μμ λ€λ₯΄λ€. μμ νμ μ κ°, μ¦ μμ κ°μ λ³κ²½ λΆκ°λ₯ν κ° μ΄λ€. μ΄μ λΉν΄ κ°μ²΄ νμ μ κ°, μ¦ κ°μ²΄λ λ³κ²½ κ°λ₯ν κ°μ΄λ€. μμ κ°μ λ³μμ ν λΉνλ©΄ λ³μμλ μ€μ κ°μ΄ μ μ₯λλ€. μ΄μ λΉν΄ κ°μ²΄λ₯Ό λ³μμ ν λΉνλ©΄ λ³μμλ μ°Έμ‘°κ°μ΄ μ μ₯λλ€. μμκ°μ κ°λ λ³μλ₯Ό λ€λ₯Έ λ³μμ ν λΉνλ©΄ μλ³Έμ μμ κ°μ΄ 볡μ¬λμ΄ μ λ¬λλ€. μ΄λ₯Ό κ°μ μν μ λ¬ μ΄λΌ νλ€. μ΄μ λΉν΄ κ°μ²΄λ₯Ό κ°λ¦¬ν€λ λ³μλ₯Ό λ€λ₯Έ λ³μμ ν λΉνλ©΄ μλ³Έμ μ°Έμ‘°κ°μ΄ 볡μ¬λμ΄ μ λ¬λλ€. μ΄λ₯Ό μ°Έμ‘°μ μν μ λ¬ μ΄λΌ νλ€. π‘ μμ νμ κ³Ό μ°Έμ‘° νμ μ μ°¨μ΄μ μ μμνμ μ λΆλ³μ±μ κ°κ³ μλ€λ κ²μ΄κ³ κΉμ λ³΅μ¬ (μμ νμ ) μ μμ λ³΅μ¬ ( μ°Έμ‘° νμ ) μ μ°¨μ΄μ μ κΉμ 볡μ¬λ κ°μ 볡μ¬νκ³ μμ볡..
κ°μ²΄ μλ°μ€ν¬λ¦½νΈλ κ°μ²΄ κΈ°λ°μ νλ‘κ·Έλλ° μΈμ΄μ΄λ©°, μλ°μ€ν¬λ¦½νΈλ₯Ό ꡬμ±νλ κ±°μ λͺ¨λ κ²μ΄ κ°μ²΄ μ΄λ€. π μμκ°μ μ μΈν λλ¨Έμ§ κ°(ν¨μ,λ°°μ΄,μ κ· ννμ λ±)μ λͺ¨λ κ°μ²΄λ€. κ°μ²΄λ νλ‘νΌν°(κ°μ²΄μ μνλ₯Ό λνλ΄λ κ°data) μ λ©μλ(νλ‘νΌν°λ₯Ό μ°Έμ‘°νκ³ μ‘°μν μ μλ λμ)λ‘ κ΅¬μ±λ μ§ν©μ²΄ μ΄λ€. νλ‘νΌν° κ°μ²΄λ νλ‘νΌν°μ μ§ν©μ΄λ©°, νλ‘νΌν°λ ν€(λΉ λ¬Έμμ΄μ ν¬ν¨νλ λͺ¨λ λ¬Έμμ΄ λλ μ¬λ² κ°)μ κ°(μλ°μ€ν¬λ¦½νΈμμ μ¬μ©ν μ μλ λͺ¨λ κ°) μΌλ‘ κ΅¬μ± λλ€. let person = { // νλ‘νΌν° ν€λ name , νλ‘νΌν° κ°μ 'Lee' name: 'Lee', // νλ‘νΌν° ν€λ age , κ°μ 20 age: 20 }; // {name: 'Lee' , age: 20} λ©μλ νλ‘νΌν° κ°μ΄..
λ Όλ¦¬κ³±( && ) μ°μ°μ 'cat' && 'dog' // "dog" λ Όλ¦¬κ³±(&&) μ°μ°μλ λκ°μ νΌμ°μ°μκ° λͺ¨λ trueλ‘ νκ°λ λ trueλ₯Ό λ°ννλ€. λ Όλ¦¬κ³± μ°μ°μλ μ’νμμ μ°νμΌλ‘ νκ°κ° μ§νλλ€. 첫λ²μ§Έ νΌμ°μ°μ 'cat'μ Truthy κ°μ΄λ―λ‘ trueλ‘ νκ°λλ€. νμ§λ§ λλ²μ§Έ νΌμ°μ°μκ° μ λ Όλ¦¬κ³± μ°μ°μ ννμμ νκ° κ²°κ³Όλ₯Ό κ²°μ νλ€. μ΄λ λ Όλ¦¬κ³± μ°μ°μλ λ Όλ¦¬ μ°μ°μ κ²°κ³Όλ₯Ό κ²°μ νλ λλ²μ§Έ νΌμ°μ°μ, μ¦ λ¬Έμμ΄ 'dog'λ₯Ό κ·Έλλ‘ λ°ννλ€. λ Όλ¦¬ν©( || ) μ°μ°μ 'cat' || 'dog' // "cat" λ Όλ¦¬ν©( || ) μ°μ°μλ λκ°μ νΌμ°μ°μ μ€ νλλ§ trueλ‘ νκ°λμ΄λ trueλ₯Ό λ°ννλ€. λ Όλ¦¬ν© μ°μ°μλ μ’νμμ μ°νμΌλ‘ νκ°κ° μ§νλλ€. 첫λ²μ§Έ νΌμ°μ°μ 'cat'μ Tr..
κ°λ°μκ° μλμ μΌλ‘ κ°μ νμ μ λ³ν νλκ²μ λͺ μμ νμ λ³ν λλ νμ μΊμ€ν μ΄λΌ νλ€. let x = 10; // λͺ μμ νμ λ³ν // μ«μλ₯Ό λ¬Έμμ΄λ‘ νμ μΊμ€ν νλ€. let str = x.toString(); console.log(typeof x,x) // number 10 κ°λ°μμ μλμλ μκ΄μμ΄ ννμμ νκ°νλ λμ€μ μλ°μ€ν¬λ¦½νΈ μμ§μ μν΄ μ묡μ μΌλ‘ νμ μ΄ μλλ³ν λλκ²μ μ묡μ νμ λ³ν λλ νμ κ°μ λ³ν μ΄λΌ νλ€. let x = 10; // μ묡μ νμ λ³ν // λ¬Έμμ΄ μ°κ²° μ°μ°μλ μ«μ νμ xμ κ°μ λ°νμΌλ‘ μλ‘μ΄ λ¬Έμμ΄μ μμ±νλ€. let str = x + ''; console.log(typeof str,str); // string 10 //x λ³μμ κ°μ΄ λ³κ²½λ ..