[ 10μž₯ ] 객체 λ¦¬ν„°λŸ΄
Β·
πŸ–₯️ development/Java Script
10μž₯ 객체 λ¦¬ν„°λŸ΄ 10-1. κ°μ²΄λž€? μžλ°”μŠ€ν¬λ¦½νŠΈλŠ” 객체기반이 ν”„λ‘œκ·Έλž˜λ° 언어이며, μžλ°”μŠ€ν¬λ¦½νŠΈλ₯Ό κ΅¬μ„±ν•˜λŠ” 거의 "λͺ¨λ“ κ²ƒ"이 객체 이닀. μ›μ‹œ νƒ€μž…μ€ ν•˜λ‚˜μ˜ 값을 λ‚˜νƒ€λ‚΄κ³ , 객체 νƒ€μž…μ€ λ‹€μ–‘ν•œ νƒ€μž…μ˜ 값을 ν•˜λ‚˜μ˜ λ‹¨μœ„λ‘œ κ΅¬μ„±ν•œ λ³΅μž‘ν•œ 자료ꡬ쑰 이닀. μ›μ‹œ νƒ€μž…μ˜ κ°’, 즉 μ›μ‹œ 값은 λ³€κ²½ λΆˆκ°€λŠ₯ν•œ κ°’, 객체 νƒ€μž…μ˜ κ°’, 즉 κ°μ²΄λŠ” λ³€κ²½ κ°€λŠ₯ν•œ κ°’ 이닀. κ°μ²΄λŠ” 0개 μ΄μƒμ˜ ν”„λ‘œνΌν‹°λ‘œ κ΅¬μ„±λœ μ§‘ν•©, ν”„λ‘œνΌν‹°λŠ” 킀와 κ°’μœΌλ‘œ ꡬ성 var person = { name: 'Lee', age: 20 }; μ—¬κΈ°μ„œ name: 'Lee'와 age: 20은 ν”„λ‘œνΌν‹° 이며, ageλŠ” ν”„λ‘œνΌν‹° ν‚€, 20은 ν”„λ‘œνΌν‹° κ°’ 이닀. ν”„λ‘œνΌν‹° 값이 ν•¨μˆ˜μΌ 경우 일반 ν•¨μˆ˜μ™€ κ΅¬λΆ„ν•˜κΈ° μœ„ν•΄ λ©”μ„œλ“œλΌ λΆ€λ₯Έλ‹€. ..
[ 9μž₯ ] νƒ€μž… λ³€ν™˜κ³Ό 단좕 평가
Β·
πŸ–₯️ development/Java Script
9μž₯ νƒ€μž… λ³€ν™˜κ³Ό 단좕 평가 9-1. νƒ€μž… λ³€ν™˜μ΄λž€? μžλ°” 슀크립트의 λͺ¨λ“  값은 νƒ€μž…μ΄ 있고, κ°œλ°œμžλŠ” 이λ₯Ό μ˜λ„μ— 따라 μ‚¬μš©ν•œλ‹€. κ°œλ°œμžκ°€ μ˜λ„μ μœΌλ‘œ κ°’μ˜ νƒ€μž…μ„ λ³€ν™˜ν•˜λŠ” 것을 λͺ…μ‹œμ  νƒ€μž… λ³€ν™˜, λ˜λŠ” νƒ€μž… μΊμŠ€νŒ… 이라고 ν•œλ‹€. var x = 10; //λͺ…μ‹œμ  νƒ€μž… λ³€ν™˜ var str = x.toString(); console.log(typeof str, str); //string 10 // x λ³€μˆ˜μ˜ 값이 λ³€κ²½λœ 것은 μ•„λ‹ˆλ‹€. console.log(typeof x, x); //number 10 κ°œλ°œμžκ°€ μ˜λ„ ν•˜μ§€ μ•Šμ•„λ„ ν‘œν˜„μ‹μ„ ν‰κ°€ν•˜λŠ” κ³Όμ •μ—μ„œ μžλ°”μŠ€ν¬λ¦½νŠΈ 엔진에 μ˜ν•΄ μ•”λ¬΅μ μœΌλ‘œ νƒ€μž…μ΄ μžλ™μœΌλ‘œ λ³€ν™˜ λ˜κΈ°λ„ ν•œλ‹€. 이λ₯Ό 암묡적 νƒ€μž… λ³€ν™˜, λ˜λŠ” νƒ€μž… κ°•μ œ λ³€ν™˜ 이라고 ν•œλ‹€. var x = 10; /..
[ 8μž₯ ] μ œμ–΄λ¬Έ
Β·
πŸ–₯️ development/Java Script
8μž₯ μ œμ–΄λ¬Έ μ œμ–΄λ¬Έμ€ 쑰건에 따라 μ½”λ“œ 블둝을 μ‹€ν–‰(쑰건문) ν•˜κ±°λ‚˜, 반볡 μ‹€ν–‰(반볡문)ν•  λ•Œ μ‚¬μš©λœλ‹€. 일반적으둜, μœ„μ—μ„œ μ•„λž˜λ°©ν–₯으둜 μ‹€ν–‰λ˜λ©°, μ œμ–΄λ¬Έμ„ 톡해 흐름을 μ œμ–΄ν• μˆ˜ μžˆλ‹€. 8-1. 블둝문 블둝문은 0개 μ΄μƒμ˜ 문을 μ€‘κ΄„ν˜Έλ‘œ 묢은 κ²ƒμœΌλ‘œ, μ½”λ“œ 블둝 λ˜λŠ” 블둝이라고 λΆ€λ₯Έλ‹€. 블둝문은 μ–Έμ œλ‚˜ 문의 μ’…λ£Œλ₯Ό μ˜λ―Έν•˜λŠ” 자체 쒅결성을 κ°€μ§€κ³  μžˆμ–΄, μ„Έλ―Έμ½œλ‘ μ„ 뢙이지 μ•ŠλŠ”λ‹€λŠ” 것을 μ£Όμ˜ν•΄μ•Ό ν•œλ‹€. //블둝문 { var foo = 10; } //μ œμ–΄λ¬Έ var x = 1; if(x October); var monthName; switch(month){ case 9: monthName = 'September'; case 10: monthName = 'October'; case 1..
[ 7μž₯ ] μ—°μ‚°μž
Β·
πŸ–₯️ development/Java Script
7μž₯ μ—°μ‚°μž μ—°μ‚°μžλž€ ν•˜λ‚˜μ˜ ν‘œν˜„μ‹μ„ λŒ€μƒμœΌλ‘œ μ‚°μˆ , ν• λ‹Ή, 비ꡐ, 논리, νƒ€μž…, μ§€μˆ˜ μ—°μ‚° 등을 μˆ­ν–‰ν•΄ ν•˜λ‚˜μ˜ 값을 λ§Œλ“ λ‹€. μ΄λ•Œ μ—°μ‚°μ˜ λŒ€μƒμ„ ν”Όμ—°μ‚°μž 라고 ν•œλ‹€. μ—¬κΈ°μ„œ ν”Όμ—°μ‚°μžλŠ” κ°’μœΌλ‘œ ν‰κ°€λ μˆ˜ μžˆλŠ” ν‘œν˜„μ‹ 이어야 ν•œλ‹€. μ—°μ‚°μžλ₯Ό κ³΅λΆ€ν•˜κΈ°μ— μ•žμ„œ, ν‘œν˜„μ‹κ³Ό 문에 λŒ€ν•œ μ •ν™•ν•œ κ°œλ…μ΄ ν•„μš”ν•˜λ‹€. //μ‚°μˆ  μ—°μ‚°μž 5*4 // -> 20 //λ¬Έμžμ—΄ μ—°κ²° μ—°μ‚°μž 'My name is' + 'Kim' // -> My name is Kim //ν• λ‹Ή μ—°μ‚°μž color = 'red' // -> 'red' //비ꡐ μ—°μ‚°μž 3>5 // -> false //논리 μ—°μ‚°μž true && false // -> false //νƒ€μž… μ—°μ‚°μž typeo..
[ 6μž₯ ] 데이터 νƒ€μž…
Β·
πŸ–₯️ development/Java Script
6μž₯ 데이터 νƒ€μž… 데이터 νƒ€μž…μ€ κ°’μ˜ μ’…λ₯˜λ‘œμ„œ, JS(ES6)μ—μ„œλŠ” 6개의 μ›μ‹œ νƒ€μž…(primitive type) + 1개의 객체 νƒ€μž… (object/reference type)으둜 λΆ„λ₯˜λœλ‹€. μ›μ‹œ νƒ€μž… primitive type 데이터 νƒ€μž… μ„€λͺ… 숫자(number)νƒ€μž… 숫자, μ •μˆ˜, μ‹€μˆ˜ ꡬ뢄 없이 ν•˜λ‚˜μ˜ 숫자 νƒ€μž…λ§Œ 쑴재 λ¬Έμžμ—΄(string) νƒ€μž… λ¬Έμžμ—΄ λΆˆλ¦¬μ–Έ(boolean) νƒ€μž… 논리적 μ°Έ(true)κ³Ό κ±°μ§“(false) undefined νƒ€μž… var ν‚€μ›Œλ“œλ‘œ μ„ μ–Έλœ λ³€μˆ˜μ— μ•”λ¬΅μ μœΌλ‘œ ν• λ‹Ήλ˜λŠ” κ°’ nullνƒ€μž… 값이 μ—†λ‹€λŠ” 것을 μ˜λ„μ μœΌλ‘œ λͺ…μ‹œν•  λ•Œ μ‚¬μš©ν•˜λŠ” κ°’ μ‹¬λ²Œ(symbol) νƒ€μž… ES6μ—μ„œ μΆ”κ°€λœ 7번째 νƒ€μž… 객체 νƒ€μž… object/reference type 데이터 νƒ€μž… μ„€λͺ… 객체 νƒ€μž… 객체,..
[ 5μž₯ ] ν‘œν˜„μ‹κ³Ό λ¬Έ
Β·
πŸ–₯️ development/Java Script
5μž₯ ν‘œν˜„μ‹κ³Ό λ¬Έ 5-1. κ°’ κ°’(value)은 식(ν‘œν˜„μ‹expression)이 평가(evaluate)λ˜μ–΄ μƒμ„±λœ κ²°κ³Όλ₯Ό λ§ν•œλ‹€. λ³€μˆ˜λŠ” ν•˜λ‚˜μ˜ 값을 μ €μž₯ν•˜κΈ° μœ„ν•΄ ν™•λ³΄ν•œ λ©”λͺ¨λ¦¬ 곡간 자체 λ˜λŠ” κ·Έ λ©”λͺ¨λ¦¬ 곡간을 μ‹λ³„ν•˜κΈ° μœ„ν•΄ 뢙인 이름이라고 ν–ˆλ‹€. λ”°λΌμ„œ λ³€μˆ˜μ— ν• λ‹Ήλ˜λŠ” 것은 값이닀. var sum = 10+20; // λ³€μˆ˜μ—λŠ” 10 + 20이 ν‰κ°€λ˜μ–΄ μƒμ„±λœ 숫자 κ°’ 30이 ν• λ‹Ήλœλ‹€. // **10+20++의 값이 μ•„λ‹ˆλΌ ν‰κ³Όλœ μˆ«μžκ°’ 30이닀. 5-2. λ¦¬ν„°λŸ΄ λ¦¬ν„°λŸ΄(literal)은 μ‚¬λžŒμ΄ 이해할 수 μžˆλŠ” 문자 λ˜λŠ” μ•½μ†λœ 기호λ₯Ό μ‚¬μš©ν•΄ 값을 μƒμ„±ν•˜λŠ” ν‘œκΈ°λ²•(notation)을 λ§ν•œλ‹€. JS엔진은 μ½”λ“œκ°€ μ‹€ν–‰λ˜λŠ” μ‹œμ μΈ λŸ°νƒ€μž„(runtime)에 λ¦¬ν„°λŸ΄μ„ 평가해 값을 μƒμ„±ν•œλ‹€. λ¦¬ν„°λŸ΄ μ˜ˆμ‹œ λΉ„κ³  μ •..