λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

πŸ“š/γ„΄ JavaScript

[JavaScript] ν”„λ‘œν† νƒ€μž…(prototype) μ΄λž€

 ν΄λž˜μŠ€(class)λŠ” 객체지ν–₯μ–Έμ–΄μ—μ„œ 빠질 수 μ—†λŠ” κ°œλ…μ΄λ‹€. μžλ°”μŠ€ν¬λ¦½νŠΈλ„ 객체지ν–₯언어이닀. ν•˜μ§€λ§Œ μžλ°”μŠ€ν¬λ¦½νŠΈμ—λŠ” ν΄λž˜μŠ€κ°€ μ—†λ‹€. λŒ€μ‹  ν”„λ‘œν† νƒ€μž…μ΄λΌλŠ” 것이 μ‘΄μž¬ν•œλ‹€. 이것이 μžλ°”μŠ€ν¬λ¦½νŠΈκ°€ 'ν”„λ‘œν† νƒ€μž… 기반 μ–Έμ–΄'라고 λΆˆλ¦¬λŠ” μ΄μœ μ΄λ‹€.

 

 

πŸ”— ν”„λ‘œν† νƒ€μž…(prototype)

 

 ν”„λ‘œν† νƒ€μž…μœΌλ‘œ 클래슀 κ΅¬ν˜„μ΄ κ°€λŠ₯ν•˜λ‹€. μžλ°”μŠ€ν¬λ¦½νŠΈλŠ” ν”„λ‘œν† νƒ€μž…μ„ 기반으둜 상속을 κ΅¬ν˜„ν•˜μ—¬ 기쑴의 μ½”λ“œλ₯Ό μž¬μ‚¬μš©ν•¨μœΌλ‘œμ¨ λΆˆν•„μš”ν•œ 쀑볡을 μ œκ±°ν•œλ‹€.

 μƒμ„±μžλ₯Ό μ΄μš©ν•˜μ—¬ 클래슀처럼 μ‚¬μš©ν•  μˆ˜λŠ” μžˆμ§€λ§Œ λŒ€λΆ€λΆ„μ˜ 경우 같은 ν˜ΈμΆœμ„ λ°˜λ³΅ν•œλ‹€λ˜κ°€μ˜ λΆˆν•„μš”ν•œ 행동이 λ°˜λ³΅λ˜μ–΄ 효율적인 μ½”λ“œκ°€ λ˜μ§€ λͺ»ν•œλ‹€.

 κ·Έλž˜μ„œ ν”„λ‘œν† νƒ€μž…μ΄λΌλŠ” 빈 객체에 미리 값듀을 담아두고 μƒˆλ‘œ μƒμ„±ν•œ κ°μ²΄λŠ” κ·Έ ν”„λ‘œν† νƒ€μž…μ˜ 값을 κ°€μ Έμ˜€λŠ” 방식을 κ°–μΆ°μ„œ 클래슀의 ν™œμš©μ²˜λŸΌ μž¬μ‚¬μš©μ„ 높일 수 μžˆλ‹€.

 

1
2
3
4
5
6
7
8
9
10
function Person() {}
 
Person.prototype.eyes = 2;
Person.prototype.nose = 1;
 
var Kim  = new Person();
var park = new Person():
 
console.log(kim.eyes); // => 2
...
cs

 

 

πŸ”— JavaScript ES6 - class

 

 ES6에 λ„μž…λœ class 문법은 μžλ°”μŠ€ν¬λ¦½νŠΈμ˜ ν”„λ‘œν† νƒ€μž…μ„ νŽΈν•˜κ²Œ μ‚¬μš©ν•˜κΈ° μœ„ν•΄ μΆ”κ°€λœ 것이며, μ—¬μ „νžˆ μžλ°”μŠ€ν¬λ¦½νŠΈλŠ” ν”„λ‘œν† νƒ€μž… 기반 언어이닀.

 

[JavaScript / ES6] ES6 문법 정리

πŸ”— const, let πŸ“Œ var VS const, let  var은 ν•¨μˆ˜ μŠ€μ½”ν”„μ΄λ‹€.  const, let은 블둝 μŠ€μ½”ν”„μ΄λ‹€. λ”°λΌμ„œ {블둝} λ°–μ—μ„œ λ³€μˆ˜μ— μ ‘κ·Όν•  수 μ—†λ‹€. πŸ“Œ const VS let  let은 λ³€μˆ˜μ— μž¬ν• λ‹Ήμ΄ κ°€λŠ₯ν•˜λ‹€. λ”°λΌμ„œ λ‹€λ₯Έ..

devjindev.tistory.com

 


πŸ”Ž μ°Έκ³  자료

πŸ’‘ 같이 λ³΄λ©΄ 쒋을 Post