πŸ’» 객체 (Ref. λͺ¨λ˜ μžλ°”μŠ€ν¬λ¦½νŠΈ Deep Dive)

waterglassesΒ·2022λ…„ 3μ›” 30일
0

TIL

λͺ©λ‘ 보기
9/50
post-thumbnail

λ°λΈŒμ½”μŠ€ νŒ€μ›λ“€κ³  ν•¨κ»˜ μŠ€ν„°λ””λ₯Ό μ‹œμž‘ν•˜μ˜€μŠ΅λ‹ˆλ‹€. λͺ¨λ˜ μžλ°”μŠ€ν¬λ¦½νŠΈ Deep Dive μ±…μœΌλ‘œ μ§„ν–‰ν•˜κ³  μ˜€λŠ˜μ€ 10μž₯ 객체 λ¦¬ν„°λŸ΄κ³Ό 11μž₯ μ›μ‹œ κ°’κ³Ό 객체의 비ꡐλ₯Ό ν•™μŠ΅ν•˜μ˜€μŠ΅λ‹ˆλ‹€. κΈ°λ³Έ κ°œλ…κ³Ό μ œκ°€ λͺ°λžλ˜ κ°œλ…λ“€μ„ μœ„μ£Όλ‘œ μ •λ¦¬ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

πŸ“ƒ 였늘 κ³΅λΆ€ν•œ 것

10μž₯ 객체

κ°μ²΄λž€?

μ›μ‹œ νƒ€μž…μ€ ν•˜λ‚˜μ˜ κ°’, 객체 νƒ€μž…μ€ λ‹€μ–‘ν•œ νƒ€μž…μ˜ 값을 ν•˜λ‚˜μ˜ λ‹¨μœ„λ‘œ κ΅¬μ„±ν•œ 볡합적인 μžλ£Œκ΅¬μ‘°μ΄λ‹€.
μ›μ‹œ νƒ€μž…μ€ λ³€κ²½ λΆˆκ°€λŠ₯ν•œ 값이고 κ°μ²΄λŠ” λ³€κ²½ κ°€λŠ₯ν•œ 값이닀.

객체 λ¦¬ν„°λŸ΄μ— μ˜ν•œ 객체 생성

μžλ°”μŠ€ν¬λ¦½νŠΈλŠ” ν”„λ‘œν† νƒ€μž… 기반 객체지ν–₯ μ–Έμ–΄λ‘œμ„œ 클래슀 기반 객체지ν–₯ μ–Έμ–΄μ™€λŠ” 달리 λ‹€μ–‘ν•œ 객체 생성 방법을 μ§€μ›ν•œλ‹€.

μžλ°”μŠ€ν¬λ¦½νŠΈ 객체 생성 방법

  • 객체 λ¦¬ν„°λŸ΄
  • Object μƒμ„±μž ν•¨μˆ˜
  • μƒμ„±μž ν•¨μˆ˜
  • Object.create λ©”μ„œλ“œ
  • 클래슀(ES6)

객체 λ¦¬ν„°λŸ΄μ„ μ΄μš©ν•΄ ν”„λ‘œνΌν‹°μ™€ ν•¨κ»˜ 객체λ₯Ό 생성할 μˆ˜λ„ 있고, 빈 객체듀을 λ§Œλ“€μ–΄ 두고, ν”„λ‘œνΌν‹°λ₯Ό 이후에 μΆ”κ°€ν•  μˆ˜λ„ μžˆλ‹€.

ν”„λ‘œνΌν‹°

κ°μ²΄λŠ” ν”„λ‘œνΌν‹°μ˜ 집합이며 ν”„λ‘œνΌν‹°λŠ” 킀와 κ°’μœΌλ‘œ κ΅¬μ„±λœλ‹€.
ν”„λ‘œνΌν‹°μ— μ ‘κ·Όν•˜λŠ” 방법은 λ§ˆμΉ¨ν‘œ(.)와 λŒ€κ΄„ν˜Έ([]) ν‘œκΈ°λ²•μ΄ μžˆλ‹€.

ν”„λ‘œνΌν‹° μ‚­μ œ
delete μ—°μ‚°μžλ₯Ό μ‚¬μš©ν•˜μ—¬ 객체의 ν”„λ‘œνΌν‹°λ₯Ό μ‚­μ œν•œλ‹€.

ν”„λ‘œνΌν‹° μΆ•μ•½ ν‘œν˜„

let x = 1, y = 2;

const obj = { x, y };

console.log(obj); // { x: 1, y: 2}

λ³€μˆ˜ 이름과 ν”„λ‘œνΌν‹° ν‚€κ°€ λ™μΌν•œ 이름일 λ•Œ ν”„λ‘œνΌν‹° ν‚€λ₯Ό μƒλž΅ν•  수 μžˆλ‹€. 이 λ•Œ ν”„λ‘œνΌν‹° ν‚€λŠ” λ³€μˆ˜ μ΄λ¦„μœΌλ‘œ μžλ™ μƒμ„±λœλ‹€.

11μž₯ μ›μ‹œ κ°’κ³Ό 객체의 비ꡐ

μ›μ‹œκ°’

λ³€κ²½ λΆˆκ°€λŠ₯ν•œ κ°’μœΌλ‘œ ν•œλ²ˆ μƒμ„±λœ μ›μ‹œ 값은 읽기 μ „μš© κ°’μœΌλ‘œμ„œ λ³€κ²½ν•  수 μ—†λ‹€.

μ›μ‹œκ°’μ€ μ–΄λ–€ 일이 μžˆμ–΄λ„ λΆˆλ³€ν•œλ‹€.
μ΄λŸ¬ν•œ νŠΉμ„±μ€ λ°μ΄ν„°μ˜ 신뒰성을 보μž₯ν•œλ‹€.

λ¬Έμžμ—΄κ³Ό λΆˆλ³€μ„±

μ›μ‹œ 값인 λ¬Έμžμ—΄μ€ λͺ‡ 개의 문자둜 μ΄λ£¨μ–΄μ‘ŒλŠλƒμ— 따라 ν•„μš”ν•œ λ©”λͺ¨λ¦¬ κ³΅κ°„μ˜ 크기가 κ²°μ •λœλ‹€.

μžλ°”μŠ€ν¬λ¦½νŠΈλŠ” μ›μ‹œ νƒ€μž…μΈ λ¬Έμžμ—΄ νƒ€μž…μ„ μ œκ³΅ν•œλ‹€. λ¬Έμžμ—΄μ€ μ›μ‹œ νƒ€μž…μ΄λ©° 변경이 λΆˆκ°€λŠ₯ν•˜λ‹€. λ˜ν•œ λ¬Έμžμ—΄μ€ μœ μ‚¬ λ°°μ—΄ κ°μ²΄μ΄λ©΄μ„œ μ΄ν„°λŸ¬λΈ”μ΄λ―€λ‘œ λ°°μ—΄κ³Ό μœ μ‚¬ν•˜κ²Œ 각 λ¬Έμžμ— μ ‘κ·Όν•  수 μžˆλ‹€.

var str = 'string';

// λ¬Έμžμ—΄μ€ μœ μ‚¬ λ°°μ—΄μ΄λ―€λ‘œ λ°°μ—΄κ³Ό μœ μ‚¬ν•˜κ²Œ 인덱슀λ₯Ό μ‚¬μš©ν•΄ 각 λ¬Έμžμ— μ ‘κ·Όν•  수 μžˆλ‹€.
// ν•˜μ§€λ§Œ λ¬Έμžμ—΄μ€ μ›μ‹œ κ°’μ΄λ―€λ‘œ λ³€κ²½ν•  수 μ—†λ‹€. ν•˜μ§€λ§Œ 이 λ•Œ μ—λŸ¬κ°€ λ°œμƒν•˜μ§€λŠ” μ•ŠλŠ”λ‹€.
str[0] = 'S'
console.log(str); // string

λ³€κ²½ κ°€λŠ₯ν•œ κ°’

객체 νƒ€μž…μ˜ 값은 λ³€κ²½ κ°€λŠ₯ν•œ 값이닀.
객체λ₯Ό ν• λ‹Ήν•œ λ³€μˆ˜κ°€ κΈ°μ–΅ν•˜λŠ” λ©”λͺ¨λ¦¬ μ£Όμ†Œλ₯Ό 톡해 λ©”λͺ¨λ¦¬ 곡간에 μ ‘κ·Όν•˜λ©΄ μ°Έμ‘° 값에 μ ‘κ·Όν•  수 μžˆλ‹€.

μ°Έμ‘° 값은 μƒμ„±λœ 객체가 μ €μž₯된 λ©”λͺ¨λ¦¬ κ³΅κ°„μ˜ μ£Όμ†Œ, κ·Έ μžμ²΄μ΄λ‹€.

객체λ₯Ό ν• λ‹Ήν•œ λ³€μˆ˜λŠ” μž¬ν• λ‹Ή 없이 객체λ₯Ό 직접 λ³€κ²½ν•  수 μžˆλ‹€. ν•˜μ§€λ§Œ μ΄λŸ¬ν•œ ꡬ쑰적 단점에 λ”°λ₯Έ λΆ€μž‘μš©μ΄ μžˆλ‹€. 그것은 μ›μ‹œ κ°’κ³ΌλŠ” λ‹€λ₯΄κ²Œ μ—¬λŸ¬ 개의 μ‹λ³„μžκ°€ ν•˜λ‚˜μ˜ 객체λ₯Ό κ³΅μœ ν•  수 μžˆλ‹€λŠ” 것이닀.

얕은 볡사와 κΉŠμ€ 볡사

객체λ₯Ό ν”„λ‘œνΌν‹° κ°’μœΌλ‘œ κ°–λŠ” 객체의 경우 얕은 λ³΅μ‚¬λŠ” ν•œ λ‹¨κ³„κΉŒμ§€λ§Œ λ³΅μ‚¬ν•˜λŠ” 것을 λ§ν•˜κ³  κΉŠμ€ λ³΅μ‚¬λŠ” 객체에 μ€‘μ²©λ˜μ–΄ μžˆλŠ” κ°μ²΄κΉŒμ§€ λͺ¨λ‘ λ³΅μ‚¬ν•˜λŠ” 것을 λ§ν•œλ‹€.

이 뢀뢄은 μƒμœ€λ‹˜μ˜ 포슀트λ₯Ό 보고 이해λ₯Ό ν•˜μ˜€κΈ° λ•Œλ¬Έμ— 첨뢀해보도둝 ν•˜κ² λ‹€.

μƒμœ€λ‹˜ λΈ”λ‘œκ·Έ - [λ”₯ λ‹€μ΄λΈŒ μŠ€ν„°λ”” 11μž₯] μ›μ‹œ κ°’κ³Ό 객체 (feat. 참쑰와 볡사)

πŸ”₯ 였늘의 λŠλ‚€μ 

였늘 μ •λ¦¬ν•œ λ‚΄μš©λ“€(λ”₯ λ‹€μ΄λΈŒ)에 λŒ€ν•œ μŠ€ν„°λ””λ₯Ό 처음 μ‹œμž‘ν•˜μ˜€λ‹€. 첫날이기도 ν•˜κ³  λ‚΄μš©μ΄ λ§Žμ§€λ„ μ•Šμ•„μ„œ 였래 걸릴 것이라고 μƒκ°ν•˜μ§€ μ•Šμ•˜λŠ”λ° μ •μ‹ μ°¨λ¦¬λ‹ˆ 2μ‹œκ°„ 30λΆ„μ΄λ‚˜ μ§€λ‚˜μžˆμ—ˆλ‹€.🀭 ν™•μ‹€νžˆ 혼자 μ±… 읽고 μ •λ¦¬ν•œ λ‚΄μš©λ³΄λ‹€ νŒ€μ›λ“€μ΄ λ°œν‘œν•œ λ‚΄μš©λ“€μ—μ„œ μ–»μ–΄κ°ˆ 것이 λ§Žμ•˜λ‹€. μ œλŒ€λ‘œ μ΄ν•΄ν•˜μ§€ λͺ»ν–ˆλ˜ λΆ€λΆ„, μ„œλ‘œ κΆκΈˆν–ˆλ˜ λΆ€λΆ„, μƒˆλ‘œ μ•Œμ•˜λ˜ λΆ€λΆ„ 등을 μ–˜κΈ°ν•˜λ©΄μ„œ μ•Œμ•„κ°€λ‹ˆ ν™•μ‹€νžˆ 더 였래 기얡남을 것 κ°™μ•˜λ‹€. λ°λΈŒμ½”μŠ€ 끝날 λ•Œ κΉŒμ§€ μ§„ν–‰ν•˜κΈ°λ‘œ ν–ˆμœΌλ‹ˆ λ‹€ 같이 λ‹¬λ €λ³΄κΈ°λ‘œ πŸƒπŸƒπŸƒ

μ§€μ€νŒ€μ—μ„œ 두 번째 컀피챗을 μ§„ν–‰ν•˜μ˜€λ‹€. μ•„, 쀑간에 λ£¨μΉ΄μŠ€λ‹˜λ„ λ“€μ–΄μ˜€μ…¨κ³  λ©˜ν† λΆ„λ“€μ΄ μ„œλ‘œ κ²½ν—˜ν•œ λ‚΄μš©μ΄ λ‹¬λΌμ„œ κ·ΈλŸ°μ§€ 2배둜 쑰언을 λ°›μ•˜λ‹€.πŸ₯°
이λ ₯μ„œ, λ©΄μ ‘, μ½”λ“œ 리뷰, 컀밋 등에 λŒ€ν•΄μ„œ λ“€μ—ˆλ‹€. λ„ˆλ¬΄ μœ μ΅ν•œ λ‚΄μš©λ“€μ΄ λ§Žμ•˜μ§€λ§Œ κ·Έ μ€‘μ—μ„œλ„ 인상 κΉŠμ—ˆλ˜ λ‚΄μš©μ€ λ©΄μ ‘ κ³Όμ œμ— λŒ€ν•œ λ‚΄μš©μ΄λ‹€. λ©΄μ ‘ 과제λ₯Ό 제좜 ν•  λ•Œ "μ–΄λ–€ μƒκ°μœΌλ‘œ ꡬ쑰λ₯Ό μ§°λŠ”μ§€", "라이브러리둜 무엇을 μ‚¬μš©ν–ˆλŠ”μ§€", "컀밋 λ©”μ‹œμ§€" 등에 신경써야 ν•œλ‹€λŠ” 것을 λ“€μ—ˆλ‹€.
컀밋 λ©”μ‹œμ§€λŠ” 컀밋 λ‹¨μœ„μ™€ 컀밋 μŠ΅κ΄€μ„ λ°”λ‘œ μ•Œ 수 있기 λ•Œλ¬Έμ— 이 μ‚¬λžŒμ΄ κ·Έλ™μ•ˆ μ–΄λ–»κ²Œ μž‘μ—…ν•΄μ™”λŠ”μ§€κ°€ 보인닀고 ν•˜μ…¨λ‹€. 이런 뢀뢄이 λ°”λ‘œ μ‹€μ „ κΏ€νŒμ΄ μ•„λ‹κΉŒ μ‹Άλ‹€. (λ°λΈŒμ½”μŠ€ μ§±μ΄μ•ΌπŸ˜)
이제 μž„μ‹œνŒ€μ΄ λλ‚˜κ°€μ„œ λ‹€μ‹œ μ§€μ€λ‹˜κ³Ό λ£¨μΉ΄μŠ€λ‹˜μ„ λ§Œλ‚˜κ²Œ 될 μ§€λŠ” λͺ¨λ₯΄κ² μ§€λ§Œ 정말 도움이 λ˜μ—ˆλ‹€κ³  λ§ν•˜κ³ μ‹Άλ‹€.

κΈΈλ‹€λ©΄ κΈΈκ³  짧닀면 짧은 μ•Œκ³ λ¦¬μ¦˜ κ°•μ˜λ“€μ΄ 끝났닀. μ§€κΈˆμ²˜λŸΌ κΎΈμ€€νžˆ μ•Œκ³ λ¦¬μ¦˜ 문제λ₯Ό ν’€λ©΄μ„œ μ΅μˆ™ν•΄μ Έμ•Όμ§€~~ 그리고 λ“œλ””μ–΄ 바닐라JSλ₯Ό μ‹œμž‘ν•˜μ˜€λ‹€. 내일 문제λ₯Ό ν‘ΈλŠ”λ° λ°˜νƒ€μž‘μ€ ν•  수 μžˆμ„κΉŒ^^

ν•¨μˆ˜ν˜• ν”„λ‘œκ·Έλž˜λ° κ°•μ˜λ₯Ό ν•΄μΉ˜μš°λŠ” λŠλ‚ŒμœΌλ‘œ λ“£κ³  μžˆλŠ” 것 κ°™λ‹€.(κ·Έλ ‡λ‹€κ³  μ–•κ²Œ λ“£λŠ” 것은 μ•„λ‹ˆκ³  λ„ˆλ¬΄ λ§Žμ€ 양을 μž…λ ₯ν•˜λ‹€ λ³΄λ‹ˆ κ°λ‹Ήν•˜μ§€ λͺ»ν•˜λŠ”λ“―) ν•˜λ£¨μ— λ”± 3-4κ°œμ •λ„λ‘œ 정해놓고 듀어보렀고 ν•œλ‹€.
벌써 μ΄λ²ˆμ£Όμ—μ„œ 3일이 μ§€λ‚¬λ‹€λŠ”κ²Œ 말도 μ•ˆλœλ‹€. μ‹œκ°„ κ°€λŠ”κ²Œ μ—„μ²­ λΉ λ₯΄λ‹€.βŒ›οΈ

πŸ—£ 였늘의 TMI

λΆ€μ‚° 둜컬 κ΅­λ°₯ 맛집을 μ•Œκ²Œλœ λ‚  πŸ€— λ†€λŸ¬κ°€λ©΄ κΌ­ ν•œλ²ˆ 먹어봐야지!!

Refer

λͺ¨λ˜ μžλ°”μŠ€ν¬λ¦½νŠΈ Deep Dive λ„μ„œ
[λ”₯ λ‹€μ΄λΈŒ μŠ€ν„°λ”” 11μž₯] μ›μ‹œ κ°’κ³Ό 객체 (feat. 참쑰와 볡사)

profile
맀 μˆœκ°„ μ„±μž₯ν•˜λŠ” κ°œλ°œμžκ°€ 되렀고 λ…Έλ ₯ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

4개의 λŒ“κΈ€

comment-user-thumbnail
2022λ…„ 3μ›” 30일

졜고 πŸ‘πŸ‘

1개의 λ‹΅κΈ€
comment-user-thumbnail
2022λ…„ 3μ›” 30일

μ‹œκ°„ μ§€λ‚˜κ°€λŠ” 게 정말 말도 μ•ˆλ©λ‹ˆλ‹€γ… γ… ... 그만큼 μ—΄μ‹¬νžˆ μ‚΄κ³  μžˆλ‹€λŠ” 뜻이겠죠?!?
μ—¬λŸ¬λΆ„λ“€λ•μ— 였늘 μŠ€ν„°λ””μ—μ„œ λ‹€μ–‘ν•œ λΆ€λΆ„μœΌλ‘œ 생각할 수 μžˆμ–΄μ„œ μ’‹μ•˜μ–΄μš”! λ‹€ν•¨κ»˜ μžλ°”μŠ€ν¬λ¦½νŠΈ μ „λ¬Έκ°€κ°€ λ˜μ–΄λ΄…μ‹œλ‹€!!

TMI라면 사싀 λΆ€μ‚° 둜컬 κ΅­λ°₯ 맛집은 λΆ€μ‚°κ΄‘μ—­μ‹œ μ•ˆμ˜ κ΅¬λ³„λ‘œ μ†Œκ°œν•΄λ“œλ¦΄ μˆ˜λ„ μžˆλ‹΅λ‹ˆλ‹€ ^^.....

1개의 λ‹΅κΈ€