관리 메뉴

Daehyunii's Dev-blog

04μž₯ λ³€μˆ˜ λ³Έλ¬Έ

04μž₯ λ³€μˆ˜

4.1 λ³€μˆ˜λž€ 무엇인가? μ™œ ν•„μš”ν•œκ°€?

  λ³€μˆ˜λŠ” ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄μ—μ„œ 데이터λ₯Ό κ΄€λ¦¬ν•˜κΈ° μœ„ν•œ 핡심 κ°œλ…μ΄λ‹€.

μ‚¬λžŒμ€ λͺ¨λ“  기얡을 λ‘λ‡Œμ—μ„œ ν•œλ‹€. ν•˜μ§€λ§Œ μ»΄ν“¨ν„°λŠ” μ—°μ‚°κ³Ό 기얡을 μˆ˜ν–‰ν•˜λŠ” λΆ€ν’ˆμ΄ λ‚˜λˆ μ Έ μžˆλ‹€. 연산은 CPUλ₯Ό μ‚¬μš©ν•΄μ„œ, 기얡은 λ©”λͺ¨λ¦¬λ₯Ό μ‚¬μš©ν•œλ‹€. λ©”λͺ¨λ¦¬λŠ” λ©”λͺ¨λ¦¬ μ…€μ˜ 집합체이닀. λ©”λͺ¨λ¦¬ μ…€ ν•˜λ‚˜μ˜ ν¬κΈ°λŠ” 1λ°”μ΄νŠΈ(8λΉ„νŠΈ)이며, μ»΄ν“¨ν„°λŠ” 1λ°”μ΄νŠΈ λ‹¨μœ„λ‘œ 데이터λ₯Ό μ €μž₯ ν•˜κ±°λ‚˜ 읽어 듀인닀. 각 λ©”λͺ¨λ¦¬ 셀은 고유의 λ©”λͺ¨λ¦¬ μ£Όμ†Œλ₯Ό κ°–λŠ”λ‹€. μ»΄ν“¨ν„°λŠ” λͺ¨λ“  데이터λ₯Ό 2μ§„μˆ˜λ‘œ μ²˜λ¦¬ν•œλ‹€(λ™μ˜μƒ , 이미지 λ“±κ³Ό 같은 λ°μ΄ν„°μ˜ μ’…λ₯˜μ™€ λ¬΄κ΄€ν•˜κ²Œ μ „λΆ€ 2μ§„μˆ˜λ‘œ μ²˜λ¦¬ν•¨)

 

ex) 10 + 20; μ΄λΌλŠ” 식은, 숫자 κ°’ '10' '20' 은 고유의 λ©”λͺ¨λ¦¬ μ£Όμ†Œλ₯Ό κ°–κ³  λ©”λͺ¨λ¦¬ μž„μ˜μ˜ μœ„μΉ˜μ— 2μ§„μˆ˜λ‘œ μ €μž₯되고, μžλ°”μŠ€ν¬λ¦½νŠΈ 엔진을 ν†΅ν•œ 평가 결과인 숫자 κ°’ '30' 도 고유의 λ©”λͺ¨λ¦¬ μ£Όμ†Œλ₯Ό κ°–κ³  λ©”λͺ¨λ¦¬ μž„μ˜μ˜ μœ„μΉ˜μ— 2μ§„μˆ˜λ‘œ μ €μž₯λœλ‹€.

 

  μœ„ μ˜ˆμ‹œμ˜ 평가 결과인 숫자 κ°’ '30'을 μž¬μ‚¬μš©ν•  수 μ—†λ‹€. 숫자 κ°’ '30'을 μž¬μ‚¬μš©ν•˜κΈ° μœ„ν•΄μ„œλŠ” ν•΄λ‹Ή λ©”λͺ¨λ¦¬ 곡간에 직접 μ ‘κ·Όν•˜λŠ” 것 μ™Έμ—λŠ” 방법이 μ—†λ‹€. ν•˜μ§€λ§Œ μ΄λŠ” 맀우 μœ„ν—˜ν•œ 방법이기 λ•Œλ¬Έμ— μžλ°”μŠ€ν¬λ¦½νŠΈμ—μ„œλŠ” 개발자의 직접적인 λ©”λͺ¨λ¦¬ μ œμ–΄λ₯Ό ν—ˆμš©ν•˜μ§€ μ•ŠλŠ”λ‹€. 이λ₯Ό μœ„ν•΄ 'λ³€μˆ˜'λΌλŠ” λ©”μ»€λ‹ˆμ¦˜μ„ μ œκ³΅ν•œλ‹€. λ³€μˆ˜λž€, ν•˜λ‚˜μ˜ 값을 μ €μž₯ν•˜κΈ° μœ„ν•΄ ν™•λ³΄ν•œ λ©”λͺ¨λ¦¬ 곡간 자체 λ˜λŠ” κ·Έ λ©”λͺ¨λ¦¬ 곡간을 μ‹λ³„ν•˜κΈ° μœ„ν•΄ 뢙인 이름을 λ§ν•œλ‹€. 즉 κ°’μ˜ μœ„μΉ˜λ₯Ό κ°€λ¦¬ν‚€λŠ” 상징적인 이름이닀.  

var result = 10 + 20;

μ—μ„œ μ—°μ‚°μ˜ 결과인 숫자 κ°’ '30'은 κ³ μœ ν•œ λ©”λͺ¨λ¦¬ μ£Όμ†Œλ₯Ό κ°–κ³  μž„μ˜μ˜ λ©”λͺ¨λ¦¬ 곡간에 μ €μž₯λ˜λŠ”λ°, μ΄λ•Œ μ €μž₯된 μž„μ˜μ˜ λ©”λͺ¨λ¦¬ 곡간을 'result'λΌλŠ” 상징적인 이름을 뢙인 것이 λ°”λ‘œ λ³€μˆ˜λ‹€. 

 

@κΈ°μ΄ˆκ°œλ…

-λ³€μˆ˜λͺ… : λ©”λͺ¨λ¦¬ 곡간에 μ €μž₯된 값을 식별할 수 μžˆλŠ” κ³ μœ ν•œ 이름

-λ³€μˆ˜ κ°’ : λ³€μˆ˜μ— μ –μ•„λœ κ°’

-ν• λ‹Ή : λ³€μˆ˜μ— 값을 μ €μž₯ν•˜λŠ” 것

-μ°Έμ‘° : λ³€μˆ˜μ— μ €μž₯된 값을 읽어 λ“€μ΄λŠ” 것

 

4.2 μ‹λ³„μž

  λ³€μˆ˜ 이름을 'μ‹λ³„μž'라고도 ν•œλ‹€. μ‹λ³„μžλŠ” μ–΄λ–€ 값을 κ΅¬λ³„ν•΄μ„œ 식별할 수 μžˆλŠ” κ³ μœ ν•œ 이름을 λ§ν•œλ‹€. μ‹λ³„μžλŠ” κ°’ κ·Έ μžμ²΄κ°€ μ•„λ‹ˆλΌ λ©”λͺ¨λ¦¬ μ£Όμ†Œλ₯Ό κΈ°μ–΅ν•˜κ³  μžˆλ‹€.즉, μ‹λ³„μžκ°€ κΈ°μ–΅ν•˜κ³  μžˆλŠ” λ©”λͺ¨λ¦¬ μ£Όμ†Œλ₯Ό 톡해 λ©”λͺ¨λ¦¬ 곡간에 μ €μž₯된 값에 μ ‘κ·Όν•˜λŠ” λ©”μ»€λ‹ˆμ¦˜μ΄λ‹€.μ‹λ³„μžλΌλŠ” 이름은 λ³€μˆ˜ μ΄λ¦„μ—λ§Œ κ΅­ν•œν•΄μ„œ μ‚¬μš©ν•˜μ§€ μ•ŠλŠ”λ‹€. λ³€μˆ˜, ν•¨μˆ˜, 클래슀 λ“±μ˜ 이름은 λͺ¨λ‘ μ‹λ³„μžλ‹€. 즉, λ©”λͺ¨λ¦¬ 상에 μ‘΄μž¬ν•˜λŠ” μ–΄λ–€ 값을 식별할 수 μžˆλŠ” 이름은 λͺ¨λ‘ μ‹λ³„μžλΌκ³  λΆ€λ₯Έλ‹€. λ³€μˆ˜, ν•¨μˆ˜, 클래슀 λ“±μ˜ μ‹λ³„μžλŠ” 넀이밍 κ·œμΉ™μ„ μ€€μˆ˜ν•΄μ•Ό ν•˜λ©°, 선언에 μ˜ν•΄ μžλ°”μŠ€ν¬λ¦½νŠΈ 엔진에 μ‹λ³„μžμ˜ 쑴재λ₯Ό μ•Œλ¦°λ‹€.

 

4.3 λ³€μˆ˜ μ„ μ–Έ

  λ³€μˆ˜ μ„ μ–Έμ΄λž€, 값을 μ €μž₯ν•˜κΈ° μœ„ν•œ λ©”λͺ¨λ¦¬ 곡간을 ν™•λ³΄ν•˜κ³  λ³€μˆ˜ 이름과 ν™•λ³΄λœ λ©”λͺ¨λ¦¬ κ³΅κ°„μ˜ μ£Όμ†Œλ₯Ό μ—°κ²°ν•΄μ„œ 값을 μ €μž₯ν•  수 있게 μ€€λΉ„ν•˜λŠ” 것이닀. λ³€μˆ˜λ₯Ό μ‚¬μš©ν•˜λ €λ©΄ var, let, const ν‚€μ›Œλ“œλ₯Ό μ‚¬μš©ν•˜μ—¬ λ°˜λ“œμ‹œ 선언이 ν•„μš”ν•˜λ‹€.

var score; // λ³€μˆ˜ μ„ μ–Έ

μžλ°”μŠ€ν¬λ¦½νŠΈ 엔진은 λ³€μˆ˜ 선언을 2단계에 거쳐 μˆ˜ν–‰ν•œλ‹€

1단계 - 선언단계 : λ³€μˆ˜ 이름을 λ“±λ‘ν•˜κ³  μžλ°” 슀크립트 엔진에 λ³€μˆ˜μ˜ 쑴재λ₯Ό μ•Œλ¦°λ‹€.

2단계 - μ΄ˆκΈ°ν™”λ‹¨κ³„ : 값을 μ €μž₯ν•˜κΈ° μœ„ν•œ λ©”λͺ¨λ¦¬ 곡간을 ν™•λ³΄ν•˜κ³  μ•”λ¬΅μ μœΌλ‘œ undefinedλΌλŠ” 'κ°’'을 ν• λ‹Ήν•˜μ—¬ μ΄ˆκΈ°ν™”ν•œλ‹€.(J/S의 νŠΉμ§•)

μ΄ˆκΈ°ν™”λ₯Ό ν•˜λŠ” μ΄μœ λŠ” μ“°λ ˆκΈ° 값이 λ‚˜μ˜€λŠ” 것을 λ°©μ§€ν•˜κΈ° μœ„ν•¨μ΄λ‹€. λ³€μˆ˜λŠ” λ°˜λ“œμ‹œ 선언이 ν•„μš”ν•œλ°, μ„ μ–Έν•˜μ§€ μ•Šμ€ μ‹λ³„μžμ— μ ‘κ·Όν•˜λ©΄ ReferenceError(μ°Έμ‘°μ—λŸ¬)κ°€ λ°œμƒν•œλ‹€.

 

@κΈ°μ΄ˆκ°œλ…

-ν‚€μ›Œλ“œ : μžλ°”μŠ€ν¬λ¦½νŠΈ 엔진이 μˆ˜ν–‰ν•  λ™μž‘μ„ κ·œμ •ν•œ μΌμ’…μ˜ λͺ…λ Ήμ–΄λ‹€. μžλ°”μŠ€ν¬λ¦½νŠΈμ—”μ§„μ€ ν‚€μ›Œλ“œλ₯Ό λ§Œλ‚˜λ©΄ μžμ‹ μ΄ μˆ˜ν–‰ν•΄μ•Ό ν•  μ•½μ†λœ λ™μž‘μ„ μˆ˜ν–‰ν•œλ‹€. ex) var ν‚€μ›Œλ“œλ₯Ό λ§Œλ‚˜λ©΄ var 뒀에 μžˆλŠ” λ³€μˆ˜ μ΄λ¦„μœΌλ‘œ μƒˆλ‘œμš΄ λ³€μˆ˜λ₯Ό μ„ μ–Έν•œλ‹€.

-undefined : μ›μ‹œ νƒ€μž…μ˜ 'κ°’'이닀.

-μ΄ˆκΈ°ν™” : 일반적으둜 μΉ˜κΈ°ν™”λž€ λ³€μˆ˜κ°€ μ„ μ–Έλœ 이후 졜초둜 값을 ν• λ‹Ήν•˜λŠ” 것을 λ§ν•œλ‹€.

-ReferenceError : μ‹λ³„μžλ₯Ό 톡해 값을 μ°Έμ‘°ν•˜λ € ν–ˆμ§€λ§Œ μžλ°”μŠ€ν¬λ¦½νŠΈ 엔진이 λ“±λ‘λœ μ‹λ³„μžλ₯Ό 찾을 수 없을 λ•Œ λ°œμƒν•˜λŠ” μ—λŸ¬λ‹€.

 

@var ν‚€μ›Œλ“œ

var ν‚€μ›Œλ“œμ˜ κ°€μž₯ λŒ€ν‘œμ μΈ 단점 쀑 ν•˜λ‚˜λŠ” 블둝 레벨 μŠ€μ½”ν”„λ₯Ό μ§€μ›ν•˜μ§€ μ•Šκ³ , ν•¨μˆ˜ 레벨 μŠ€μ½”ν”„λ₯Ό μ§€μ›ν•œλ‹€λŠ” 것이닀. 이둜 인해 μ˜λ„μΉ˜ μ•Šκ²Œ μ „μ—­ λ³€μˆ˜κ°€ μ„ μ–Έλ˜μ–΄ μ‹¬κ°ν•œ λΆ€μž‘μš©μ΄ λ°œμƒν•˜κΈ°λ„ ν•œλ‹€.(μžμ„Έν•œκ±΄ ν›„μˆ )

 

4.4 λ³€μˆ˜ μ„ μ–Έμ˜ μ‹€ν–‰ μ‹œμ κ³Ό λ³€μˆ˜ ν˜Έμ΄μŠ€νŒ…

console.log(score); // undefined
var score; // λ³€μˆ˜ μ„ μ–Έλ¬Έ

  λ³€μˆ˜ 선언문보닀 λ³€μˆ˜λ₯Ό μ°Έμ‘°ν•˜λŠ” μ½”λ“œκ°€ μ•žμ— μžˆλ‹€. ReferenceErrorκ°€ λ°œμƒν•  κ²ƒμ²˜λŸΌ λ³΄μ΄μ§€λ§Œ, undefinedκ°€ 좜λ ₯λœλ‹€. κ·Έ μ΄μœ λŠ” λ³€μˆ˜ 선언이 μ†ŒμŠ€μ½”λ“œκ°€ ν•œ 쀄씩 순차적으둜 μ‹€ν–‰λ˜λŠ” μ‹œμ , 즉 λŸ°νƒ€μž„μ΄ μ•„λ‹ˆλΌ κ·Έ 이전 λ‹¨κ³„μ—μ„œ λ¨Όμ € μ‹€ν–‰λ˜κΈ° λ•Œλ¬Έμ΄λ‹€. μžλ°”μŠ€ν¬λ¦½νŠΈ 엔진은 μ†ŒμŠ€μ½”λ“œλ₯Ό ν•œ 쀄씩 순차적으둜 μ‹€ν–‰ν•˜κΈ°μ— μ•žμ„œ λ¨Όμ € μ†ŒμŠ€μ½”λ“œμ˜ 평가 과정을 κ±°μΉ˜λ©΄μ„œ μ†ŒμŠ€μ½”λ“œλ₯Ό μ‹€ν–‰ν•˜κΈ° μœ„ν•œ μ€€λΉ„λ₯Ό ν•œλ‹€. μ΄λ•Œ μžλ°”μŠ€ν¬λ¦½νŠΈ 엔진은 λ³€μˆ˜ 선언을 ν¬ν•¨ν•œ λͺ¨λ“  선언문을 μ†ŒμŠ€μ½”λ“œμ—μ„œ μ°Ύμ•„ λ¨Όμ € μ‹€ν–‰ν•œλ‹€. κ·Έ ν›„ λͺ¨λ“  선언문을 μ œμ™Έν•˜κ³  μ†ŒμŠ€μ½”λ“œλ₯Ό ν•œ 쀄씩 순차적으둜 μ‹€ν–‰ν•œλ‹€. 이λ₯Ό 'λ³€μˆ˜ ν˜Έμ΄μŠ€νŒ…'이라 ν•œλ‹€.

 

4.5 κ°’μ˜ ν• λ‹Ή

  λ³€μˆ˜μ— 값을 ν• λ‹Ή ν•  λ•ŒλŠ” ν• λ‹Ή μ—°μ‚°μž '='을 μ‚¬μš©ν•œλ‹€. ν• λ‹Ή μ—°μ‚°μžλŠ” μš°λ³€μ˜ 'κ°’'을 μ’Œλ³€μ˜ λ³€μˆ˜μ— ν• λ‹Ήν•œλ‹€. 

var score; //λ³€μˆ˜ μ„ μ–Έ
score = 80; //κ°’μ˜ ν• λ‹Ή

 λ³€μˆ˜ μ„ μ–Έκ³Ό κ°’μ˜ 할당을 ν•˜λ‚˜μ˜ 문으둜 단좕 ν‘œν˜„ν•  μˆ˜λ„ μžˆλ‹€.

var score = 80; //λ³€μˆ˜ μ„ μ–Έκ³Ό κ°’μ˜ ν• λ‹Ή

κ·ΈλŸ¬λ‚˜, ν•˜λ‚˜μ˜ 문으둜 단좕 ν‘œν˜„ν•˜λ”λΌλ„ μžλ°”μŠ€ν¬λ¦½νŠΈ 엔진은 λ³€μˆ˜ μ„ μ–Έκ³Ό 값을 할당을 2개의 문으둜 λ‚˜λˆ„μ–΄ 각각 μ‹€ν–‰ν•œλ‹€.

κ·ΈλŸ¬λ―€λ‘œ λ³€μˆ˜ 선언은 μ†ŒμŠ€μ½”λ“œ ν‰κ°€κ³Όμ •μ—μ„œ λ¨Όμ € μ‹€ν–‰λ˜κ³ , κ°’μ˜ 할당은 λŸ°νƒ€μž„μ— μ‹€ν–‰λœλ‹€. κ·ΈλŸ¬λ―€λ‘œ λ³€μˆ˜μ— undefinedκ°€ μ΄ˆκΈ°ν™”λ˜λŠ” 것은 변함이 μ—†λ‹€.

 

4.6 κ°’μ˜ μž¬ν• λ‹Ή

  μž¬ν• λ‹Ήμ΄λž€ 이미 값이 ν• λ‹Ήλ˜μ–΄ μžˆλŠ” λ³€μˆ˜μ— μƒˆλ‘œμš΄ 값을 λ˜λ‹€μ‹œ ν• λ‹Ήν•˜λŠ” 것을 λ§ν•œλ‹€.

(값을 μž¬ν• λ‹Ή ν•  수 μžˆλŠ” λ³€μˆ˜ μ„ μ–Έ ν‚€μ›Œλ“œλŠ” var, let이닀.)

var score = 80; //λ³€μˆ˜ μ„ μ–Έ 및 κ°’μ˜ ν• λ‹Ή
score = 90; //κ°’μ˜ μž¬ν• λ‹Ή

μž¬ν• λ‹Ήμ€ ν˜„μž¬ λ³€μˆ˜μ— μ €μž₯된 값을 버리고 μƒˆλ‘œμš΄ 값을 μ €μž₯ν•˜λŠ” 것이닀. λ§Œμ•½ 값을 μž¬ν• λ‹Ήν•  수 μ—†μ–΄μ„œ λ³€μˆ˜μ— μ €μž₯된 값을 λ³€κ²½ν•  수 μ—†λ‹€λ©΄ λ³€μˆ˜κ°€ μ•„λ‹ˆλΌ 'μƒμˆ˜'라 ν•œλ‹€. (const ν‚€μ›Œλ“œλ₯Ό μ‚¬μš©ν•˜λ©΄ μƒμˆ˜λ₯Ό ν‘œν˜„ν•  수 μžˆλ‹€.)

μ£Όμ˜ν•΄μ•Ό ν•  점은, μœ„μ˜ μ˜ˆμ‹œμ²˜λŸΌ 기쑴에 μ €μž₯된 κ°’ '80'을 μ§€μš°κ³  κ·Έ λ©”λͺ¨λ¦¬ 곡간에 μž¬ν• λ‹Ή 된 κ°’ '90'을 μƒˆλ‘­κ²Œ μ €μž₯ν•˜λŠ” 것이 μ•„λ‹ˆλΌ μƒˆλ‘œμš΄ λ©”λͺ¨λ¦¬ 곡간을 ν™•λ³΄ν•˜κ³  κ·Έ λ©”λͺ¨λ¦¬ 곡간에 숫자 κ°’ '90'을 μ €μž₯ν•˜λŠ” 것이닀.

κ·Έλ ‡λ‹€λ©΄ κ°’'80'은 μ–΄λ–€ μ‹λ³„μžμ™€λ„ μ—°κ²°λ˜μ–΄ μžˆμ§€ μ•Šλ‹€. μ΄λŸ¬ν•œ λΆˆν•„μš”ν•œ 값듀은 가비지 μ½œλ ‰ν„°μ— μ˜ν•΄ λ©”λͺ¨λ¦¬μ—μ„œ μžλ™ ν•΄μ œλœλ‹€.

 

@κΈ°μ΄ˆκ°œλ…

-가비지 μ½œλ ‰ν„° : μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ΄ ν• λ‹Ήν•œ λ©”λͺ¨λ¦¬ 곡간을 주기적으둜 κ²€μ‚¬ν•˜μ—¬ 더 이상 μ‚¬μš©λ˜μ§€ μ•ŠλŠ” λ©”λͺ¨λ¦¬λ₯Ό ν•΄μ œν•˜λŠ” κΈ°λŠ₯을 λ§ν•œλ‹€.

μžλ°”μŠ€ν¬λ¦½νŠΈλŠ” 가비지 μ½œλ ‰ν„°λ₯Ό λ‚΄μž₯ν•˜κ³  μžˆλŠ” λ§€λ‹ˆμ§€λ“œ μ–Έμ–΄λ‘œμ„œ 가비지 μ½œλ ‰ν„°λ₯Ό 톡해 λ©”λͺ¨λ¦¬ λˆ„μˆ˜λ₯Ό λ°©μ§€ν•œλ‹€.

-μ–Έλ§€λ‹ˆμ§€λ“œ μ–Έμ–΄ vs λ§€λ‹ˆμ§€λ“œ μ–Έμ–΄ : μ–Έμ–΄μ˜ λ©”λͺ¨λ¦¬ 관리 방식에 따라 λ‚˜λ‰œλ‹€. 

μ‰½κ²Œ 말해, μ–Έλ§€λ‹ˆμ§€λ“œ μ–Έμ–΄λŠ” κ°œλ°œμžκ°€ λ©”λͺ¨λ¦¬ μ œμ–΄λ₯Ό 주도할 수 있고, 개발자의 μ—­λŸ‰μ— 따라 졜적의 μ„±λŠ₯을 확보할 수 μžˆμ§€λ§Œ κ·Έ λ°˜λŒ€μ˜ 경우 치λͺ…적 였λ₯˜λ₯Ό 생산할 μˆ˜λ„ μžˆλ‹€. λ§€λ‹ˆμ§€λ“œ μ–Έμ–΄λŠ” 개발자의 직접적인 λ©”λͺ¨λ¦¬ μ œμ–΄λ₯Ό ν—ˆμš©ν•˜μ§€ μ•Šκ³  가비지 μ½œλ ‰ν„°κ°€ 이λ₯Ό μˆ˜ν–‰ν•œλ‹€.

 

4.7 μ‹λ³„μž 넀이밍 κ·œμΉ™

  μ‹λ³„μžλŠ” λ‹€μŒκ³Ό 같은 넀이밍 κ·œμΉ™μ„ μ€€μˆ˜ν•΄μ•Ό ν•œλ‹€.

-문자, 숫자, μ–Έλ”μŠ€μ½”μ–΄(_), λ‹¬λŸ¬κΈ°ν˜Έ($)λ₯Ό 포함할 수 μžˆλ‹€.(κ·Έ μ™Έμ˜ νŠΉμˆ˜λ¬ΈμžλŠ” λΆˆκ°€)

-μ‹λ³„μžλŠ” 문자, μ–Έλ”μŠ€μ½”μ–΄(_), λ‹¬λŸ¬κΈ°ν˜Έ($)둜 μ‹œμž‘ν•΄μ•Ό ν•œλ‹€.(숫자둜 μ‹œμž‘ν•˜λŠ” 것은 λΆˆκ°€)

-μ˜ˆμ•½μ–΄λŠ” μ‹λ³„μžλ‘œ μ‚¬μš©ν•  수 μ—†λ‹€.

참고둜 μžλ°”μŠ€ν¬λ¦½νŠΈλŠ” λŒ€/μ†Œλ¬Έμžλ₯Ό κ΅¬λΆ„ν•˜λ―€λ‘œ, λ³€μˆ˜λͺ… Appleκ³Ό λ³€μˆ˜λͺ…appleλŠ” λ³„κ°œμ˜ λ³€μˆ˜μ΄λ‹€.

 

@κΈ°μ΄ˆκ°œλ…

-μ˜ˆμ•½μ–΄ : ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄μ—μ„œ μ‚¬μš©λ˜κ³  μžˆκ±°λ‚˜ μ‚¬μš©λ  μ˜ˆμ •μΈ 단어λ₯Ό λ§ν•œλ‹€.

-넀이밍 μ»¨λ²€μ…˜ : ν•˜λ‚˜ μ΄μƒμ˜ μ˜μ–΄ λ‹¨μ–΄λ‘œ κ΅¬μ„±λœ μ‹λ³„μžλ₯Ό λ§Œλ“€ λ•Œ 가독성 μ’‹κ²Œ 단어λ₯Ό ν•œμ›…μ— κ΅¬λΆ„ν•˜κΈ° μœ„ν•΄ κ·œμ •ν•œ λͺ…λͺ… κ·œμΉ™μ΄λ‹€.

//카멜 μΌ€μ΄μŠ€(μžλ°”μŠ€ν¬λ¦½νŠΈμ—μ„œλŠ” 일반적으둜 λ³€μˆ˜, ν•¨μˆ˜μ˜ 이름에 μ‚¬μš©)
var firstName;

//μŠ€λ„€μ΄ν¬ μΌ€μ΄μŠ€
var first_name;

//파슀칼 μΌ€μ΄μŠ€(μžλ°”μŠ€ν¬λ¦½νŠΈμ—μ„œλŠ” 일반적으둜 μƒμ„±μž ν•¨μˆ˜, 클래슀의 이름에 μ‚¬μš©)
var FirstName;