2021-01-08(Fri)

ν•­λͺ©

λ‚΄μš©

ν•™μŠ΅ λ‚ μ§œ

2021-01-08(금)

ν•™μŠ΅ μ‹œκ°„

09:00~23:00

ν•™μŠ΅ λ²”μœ„ 및 주제

javascript ES6

ν•™μŠ΅ λͺ©ν‘œ

λͺ¨λ˜ μžλ°”μŠ€ν¬λ¦½νŠΈ νŠœν† λ¦¬μ–Όμ˜ Part 1을 λͺ¨λ‘ ν›‘λŠ”λ‹€.

λ™λ£Œ ν•™μŠ΅ 방법

eunhkim, jujeong, sanam, yohlee λ‹˜κ³Ό νŒ€ λ―ΈνŒ…μ„ μ§„ν–‰ν•˜μ˜€κ³ , λ””μŠ€μ½”λ“œλ₯Ό μΌœλ†“κ³  ν•™μŠ΅ν•˜μ˜€λ‹€.

상세 ν•™μŠ΅ λ‚΄μš©

Modern JavaScript νŠœν† λ¦¬μ–Όμ„ μΆ”κ°€λ‘œ ν•™μŠ΅μ§„ν–‰ν•˜μ˜€λ‹€.

TCP School둜만 ν•™μŠ΅μ„ μ§„ν–‰ν•œ νŒ€μ›λ“€μ΄ EC5와 EC6의 차이λ₯Ό ν•™μŠ΅ν•˜λŠ”λ° 도움을 μ£ΌκΈ° μœ„ν•΄ μ•„λž˜μ²˜λŸΌ λ¬Έμ„œλ₯Ό λ§Œλ“€κ³  μžˆμ—ˆμœΌλ‚˜, λͺ¨λ“  νŒ€μ›λ“€μ΄ Modern JavaScript νŠœν† λ¦¬μ–Όλ‘œ ν•™μŠ΅μ„ μ§„ν–‰ν•˜κΈ°λ‘œ ν•΄μ„œ μž‘μ„±μ„ λ©ˆμ·„λ‹€.

EC5 vs EC6

TCP School μ—μ„œ ν•™μŠ΅ν•œ EC5와 λͺ¨λ˜javascriptνŠœν† λ¦¬μ–Όμ—μ„œ ν•™μŠ΅ν•œ EC6의 차이점을 μ •λ¦¬ν•©λ‹ˆλ‹€.

λ“€μ–΄κ°€λ©°

Backbone.jsλ₯Ό ν•™μŠ΅ν•˜κΈ° μœ„ν•΄ νŒ€ μ°¨μ›μ—μ„œ javascriptλ₯Ό λΉ λ₯΄κ²Œ ν›‘μ—ˆμŠ΅λ‹ˆλ‹€. 각자 TCP School을 ν•˜λ£¨λ§Œμ— ν›‘μ—ˆμœΌλ‚˜ TCP Schoolμ—μ„œ λ‹€λ£¨λŠ” μžλ°”μŠ€ν¬λ¦½νŠΈλŠ” 였래된 버전, EC5μ˜€κΈ°μ— λͺ¨λ˜ JavaScriptλ₯Ό ν•™μŠ΅ν•  ν•„μš”κ°€ μƒκ²ΌμŠ΅λ‹ˆλ‹€.

이에 λͺ¨λ˜ JavaScript νŠœν† λ¦¬μ–Όμ„ μ°Έκ³ ν•˜μ—¬ EC6의 νŠΉμ§•μ„ ν•™μŠ΅ν•œ λ‚΄μš© 쀑 EC5μ™€μ˜ 차이점을 μ •λ¦¬ν–ˆμŠ΅λ‹ˆλ‹€~!

λ³€μˆ˜

λ³€μˆ˜μ„ μ–Έμžλ‘œ var 외에도 letκ³Ό constκ°€ μ“°μž…λ‹ˆλ‹€. μƒˆλ‘œ λ“±μž₯ν•œ letκ³Ό const은 각각 λͺ¨λ˜ν•œ μžλ°”μŠ€ν¬λ¦½νŠΈμ˜ λ³€μˆ˜μ™€ λͺ¨λ˜ν•œ μžλ°”μŠ€ν¬λ¦½νŠΈμ—μ„œμ˜ μƒμˆ˜λ₯Ό μ„ μ–Έν•˜κΈ° μœ„ν•œ ν‚€μ›Œλ“œλΌκ³  μƒκ°ν•˜λ©΄ λ©λ‹ˆλ‹€.

constλŠ” varλŠ” μ΄λ¦„μ—μ„œλΆ€ν„° λ‹€λ₯Έ 점이 λͺ…ν™•νžˆ λŠκ»΄μ§‘λ‹ˆλ‹€. μ „μžλŠ” ν‚€μ›Œλ“œλ‘œ μ •μ˜ν•œ 값을 λ³€κ²½μ‹œν‚¬ 수 μ—†κ³ , ν›„μžλŠ” ν‚€μ›Œλ“œλ‘œ μ •μ˜ν•œ 값을 λ³€κ²½μ‹œν‚¬ 수 μžˆμŠ΅λ‹ˆλ‹€.

그럼 letκ³Ό var의 차이점은 λ¬΄μ—‡μΌκΉŒμš”? λͺ¨λ˜ JavaScript νŠœν† λ¦¬μ–Όμ— μžμ„Έν•˜κ²Œ λ‚˜μ™€μžˆμŠ΅λ‹ˆλ‹€.

1) μŠ€μ½”ν”„μ˜ 유무

letκ³Ό 달리 varλŠ” 블둝 μŠ€μ½”ν”„κ°€ μ—†κ³ , ν•¨μˆ˜ μŠ€μ½”ν”„μ΄κ±°λ‚˜ μ „μ—­ μŠ€μ½”ν”„μž…λ‹ˆλ‹€. 블둝 κΈ°μ€€μœΌλ‘œ μŠ€μ½”ν”„κ°€ 생기지 μ•ŠκΈ° λ•Œλ¬Έμ— 블둝 λ°–μ—μ„œ μ ‘κ·Ό κ°€λŠ₯ν•©λ‹ˆλ‹€.

2) μŠ€μ½”ν”„ λ‚΄ μž¬μ„ μ–Έ κ°€λŠ₯ μ—¬λΆ€

let은 ν•œ μŠ€μ½”ν”„λ‚΄μ— 같은 μ΄λ¦„μ˜ λ³€μˆ˜λ₯Ό λ‘λ²ˆ μ„ μ–Έν•˜λ©΄ 였λ₯˜κ°€ λ°œμƒν•©λ‹ˆλ‹€. 반면 var은 같은 μ΄λ¦„μ˜ λ³€μˆ˜λ₯Ό λͺ‡λ²ˆμ΄κ³  μ„ μ–Έν•  수 μžˆμŠ΅λ‹ˆλ‹€. 이 경우 이미 μ„ μ–Έλœ λ³€μˆ˜λŠ” λ¬΄μ‹œλ©λ‹ˆλ‹€.

결과적으둜 var의 κΈ°λŠ₯μ—μ„œ μœ μ§€λ³΄μˆ˜ μΈ‘λ©΄μ—μ„œ ν˜Όλž€μ΄ 생길 μš”μ†Œλ₯Ό μ œκ±°ν•œ 것이 let인 μ…ˆμ΄λ‹ˆ var λŒ€μ‹  letκ³Ό constλ₯Ό μ”μ‹œλ‹€.

λ¬Έμžμ—΄

μ—­ λ”°μ˜΄ν‘œλ‘œ λ³€μˆ˜λ‚˜ ν‘œν˜„μ‹μ„ 감싼 ν›„ ${…}μ•ˆμ— λ„£μ–΄μ£Όλ©΄, μ•„λž˜μ™€ 같이 μ›ν•˜λŠ” λ³€μˆ˜λ‚˜ ν‘œν˜„μ‹μ„ λ¬Έμžμ—΄ 쀑간에 μ†μ‰½κ²Œ 넣을 수 μžˆμŠ΅λ‹ˆλ‹€.

let name = "iwoo";
​
alert( 'Hello, ${name}! '); // Hello, iwoo!

μžλ£Œν˜•

μ•„λž˜ μžλ£Œν˜•μ΄ μΆ”κ°€λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

  • bigInt 길이 μ œμ•½ 없이 μ •μˆ˜λ₯Ό λ‚˜νƒ€λ‚Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

  • null μžλ£Œν˜• nullλ§Œμ„ μœ„ν•œ λ…λ¦½μžλ£Œν˜•μ΄ 있으며, μ•Œ 수 μ—†λŠ” 값을 λ‚˜νƒ€λƒ…λ‹ˆλ‹€. 그런데 typeof null의 κ²°κ³ΌλŠ” "object"μž…λ‹ˆλ‹€. μ™œλƒ! null은 λ³„λ„μ˜ κ³ μœ ν•œ μžλ£Œν˜•μ„ κ°€μ§€λŠ” 특수 κ°’μœΌλ‘œ 객체가 μ•„λ‹ˆμ§€λ§Œ, ν•˜μœ„ ν˜Έν™˜μ„±μ„ μœ μ§€ν•˜κΈ° μœ„ν•΄ 이런 였λ₯˜λ₯Ό μˆ˜μ •ν•˜μ§€ μ•Šκ³  남겨둔 μƒν™©μž…λ‹ˆλ‹€. μ–Έμ–΄ 자체의 였λ₯˜μ΄λ―€λ‘œ null이 객체가 μ•„λ‹˜μ— μœ μ˜ν•˜μ‹œκΈ° λ°”λžλ‹ˆλ‹€.

  • 심볼(symbol)ν˜• 객체의 고유 μ‹λ³„μžλ₯Ό λ§Œλ“€ λ•Œ μ‚¬μš©ν•©λ‹ˆλ‹€.

typeofλŠ” ν”Όμ—°μ‚°μžκ°€ ν•¨μˆ˜λ©΄ "function"을 λ°˜ν™˜ν•©λ‹ˆλ‹€. κ·ΈλŸ¬λ―€λ‘œ typeof alertλŠ” "function"을 좜λ ₯ν•΄μ€λ‹ˆλ‹€. 그런데 'ν•¨μˆ˜β€™ν˜•μ€ λ”°λ‘œ μ—†μŠ΅λ‹ˆλ‹€. ν•¨μˆ˜λŠ” κ°μ²΄ν˜•μ— μ†ν•©λ‹ˆλ‹€. 이런 λ™μž‘ 방식이 ν˜•μ‹μ μœΌλ‘  잘λͺ»λ˜κΈ΄ ν–ˆμ§€λ§Œ, μ•„μ£Ό μ˜€λž˜μ „μ— λ§Œλ“€μ–΄μ§„ κ·œμΉ™μ΄μ—ˆκΈ° λ•Œλ¬Έμ— ν•˜μœ„ ν˜Έμ™„μ„± μœ μ§€λ₯Ό μœ„ν•΄ 남겨진 μƒνƒœμž…λ‹ˆλ‹€. ν•œνŽΈ, 싀무에선 이런 νŠΉμ§•μ΄ 맀우 μœ μš©ν•˜κ²Œ μ‚¬μš©λ˜κΈ°λ„ ν•©λ‹ˆλ‹€.

ν•™μŠ΅ λ‚΄μš©μ— λŒ€ν•œ 개인적인 총평

λͺ¨λ˜ μžλ°”μŠ€ν¬λ¦½νŠΈ νŠœν† λ¦¬μ–Όμ— μ„Έμ„Έν•œ 팁과 λ”λΆˆμ–΄ κΉŠμ€ λ‚΄μš©μ΄ μžˆμ–΄μ„œ 크게 λ„μ›€λ©λ‹ˆλ‹€. 무료둜 이런 컨텐츠λ₯Ό λˆ„λ¦¬λŠ”κ²Œ κ°λ™μŠ€λŸ¬μ›Œμ„œ μ‘°κΈˆμ΄λ‚˜λ§ˆ 갚고자 μ»¨νŠΈλ¦¬λ·°ν„°λ‘œ μ‹ μ²­ν–ˆμŠ΅λ‹ˆλ‹€.

ν•œνŽΈ νŒ€μ›λ“€κ³Ό μžλ°”μŠ€ν¬λ¦½νŠΈ ν•™μŠ΅ 말고도 역할뢄배와 섀계 등에 λŒ€ν•œ μ–˜κΈ°λ₯Ό λ‚˜λˆ΄λŠ”λ°, λ‹€μ–‘ν•œ μ˜κ²¬μ„ μ£Όκ³  λ°›μ•˜μŠ΅λ‹ˆλ‹€. λ‹€μŒμ— μ •λ¦¬ν•΄λ΄μ•Όκ² λ„€μš”.

λ‹€μŒ ν•™μŠ΅ κ³„νš

  • λͺ¨λ˜ μžλ°”μŠ€ν¬λ¦½νŠΈ νŠœν† λ¦¬μ–Ό 적어도 Part 2 λ‹€ ν›‘κΈ°

Last updated