wam
w__am κ°œλ°œλ…ΈνŠΈ
wam
  • λΆ„λ₯˜ 전체보기 (165)
    • CS 지식 (10)
      • 자료ꡬ쑰 (0)
      • μ•Œκ³ λ¦¬μ¦˜ (0)
      • 컴퓨터 ꡬ쑰 (0)
      • 운영체제 (0)
      • λ„€νŠΈμ›Œν¬ (7)
      • λ°μ΄ν„°λ² μ΄μŠ€ (0)
      • λ””μžμΈ νŒ¨ν„΄ (3)
    • Frontend (131)
      • Three.js (64)
      • NPM (1)
      • Nest.js (19)
      • React (10)
      • Apollo (7)
      • TypeScript (2)
      • JavaScript (12)
      • HTML, CSS (1)
      • Jest (3)
      • E2E (5)
      • Cypress (7)
    • Database (12)
      • TypeORM (12)
    • IT 지식 (8)
      • ν΄λΌμš°λ“œ μ„œλΉ„μŠ€ (3)
      • λ„€νŠΈμ›Œν¬ (1)
      • 데이터 포맷 (2)
      • 기타 (2)
    • IT Book (2)
    • μœ μš©ν•œ μ‚¬μ΄νŠΈ (1)

λΈ”λ‘œκ·Έ 메뉴

  • ν™ˆ
  • νƒœκ·Έ
  • λ°©λͺ…둝
  • 🐱 Github

인기 κΈ€

νƒœκ·Έ

  • Decorators
  • getdelta()
  • joi μ—λŸ¬
  • math.sin()
  • e.preventdefault()
  • threejs 개발 ν•  λ•Œ 도움을 쀄 수 μžˆλŠ” μœ ν‹Έλ¦¬ν‹°
  • Interface
  • isabstract
  • axeshelper
  • react μ„±λŠ₯ μ΅œμ ν™”
  • μ›ν˜•μ μΈ μ›€μ§μž„
  • type-graphql
  • math.cos()
  • getelapsedtime()
  • μ‚Όκ°ν•¨μˆ˜
  • λ””μžμΈ νŒ¨ν„΄
  • ν•¨μˆ˜ λ¦¬ν„°λŸ΄
  • 초기 ν™˜κ²½μ„€μ •
  • μŠ€μ½”ν”„
  • mapped types
  • API
  • 데이터 포맷
  • ν•¨μˆ˜ ν‘œν˜„μ‹
  • three.js ꡬ성 μš”μ†Œ
  • ν•¨μˆ˜μ˜ λ²”μœ„
  • λ Œλ”λ§ μ„±λŠ₯ μ΅œμ ν™”
  • reactive variables
  • ν•¨μˆ˜ μ„ μ–Έλ¬Έ
  • μ˜€ν”„-ν”„λ ˆλ―ΈμŠ€(off-premise) 방식
  • gridhelper

졜근 κΈ€

κ΄€λ¦¬μž

κΈ€μ“°κΈ° / μŠ€ν‚¨νŽΈμ§‘ / κ΄€λ¦¬μžνŽ˜μ΄μ§€
hELLO Β· Designed By μ •μƒμš°.
wam

w__am κ°œλ°œλ…ΈνŠΈ

μ‹€ν–‰ μ»¨ν…μŠ€νŠΈ
Frontend/JavaScript

μ‹€ν–‰ μ»¨ν…μŠ€νŠΈ

2024. 3. 23. 22:08
πŸ’‘ λ ‰μ‹œμ»¬ ν™˜κ²½ - μ‹λ³„μžμ™€ μŠ€μ½”ν”„ 관리

πŸ’‘μ‹€ν–‰ μ»¨ν…μŠ€νŠΈ μŠ€νƒ - μ½”λ“œ μ‹€ν–‰ μˆœμ„œ 관리

 

 

μ‹€ν–‰ μ»¨ν…μŠ€νŠΈ

 

μžλ°”μŠ€ν¬λ¦½νŠΈμ˜ λ™μž‘ 원리 κ°œλ…μ„ 톡해 μ•„λž˜ λ‚΄μš©μ„ 이해할 수 μžˆλ‹€.

  • μŠ€μ½”ν”„ 기반으둜 μ‹λ³„μžμ™€ μ‹λ³„μžμ— λ°”μΈλ”©λœ 값을 κ΄€λ¦¬ν•˜λŠ” 방식
  • ν˜Έμ΄μŠ€νŒ…μ΄ λ°œμƒν•˜λŠ” 이유
  • ν΄λ‘œμ € λ™μž‘ 방식
  • νƒœμŠ€ν¬μ™€ 큐와 ν•¨κ»˜ λ™μž‘ν•˜λŠ” 이벀트 ν•Έλ“€λŸ¬
  • 비동기 처리의 λ™μž‘ 방식

 

 

μ†ŒμŠ€ μ½”λ“œμ˜ νƒ€μž…

 

4κ°€μ§€ νƒ€μž… μ½”λ“œλŠ” μ‹€ν–‰ μ»¨νƒμŠ€νŠΈλ₯Ό μƒμ„±ν•œλ‹€.

 

4κ°€μ§€λ‘œ κ΅¬λΆ„ν•˜λŠ” μ΄μœ λŠ”?

μ†ŒμŠ€μ½”λ“œμ˜ νƒ€μž…μ— 따라 μ‹€ν–‰ μ»¨ν…μŠ€νŠΈλ₯Ό μƒμ„±ν•˜λŠ” κ³Όμ •κ³Ό 관리 λ‚΄μš©μ΄ λ‹€λ₯΄κΈ° λ•Œλ¬Έμ΄λ‹€.

 

μ „μ—­ μ½”λ“œ

  • 전역에 μ •μ˜λœ ν•¨μˆ˜, 클래슀 λ“±μ˜ λ‚΄λΆ€ μ½”λ“œλŠ” ν¬ν•¨λ˜μ§€ μ•ŠλŠ”λ‹€.
  • var ν‚€μ›Œλ“œ, ν•¨μˆ˜μ„ μ–Έλ¬Έ

 

ν•¨μˆ˜ μ½”λ“œ

  • ν•¨μˆ˜ 내뢀에 μ€‘μ²©λœ ν•¨μˆ˜, 클래슀 λ“±μ˜ λ‚΄λΆ€ μ½”λ“œλŠ” ν¬ν•¨λ˜μ§€ μ•ŠλŠ”λ‹€.
  • μ§€μ—­ μŠ€μ½”ν”„λ₯Ό μƒμ„±ν•˜κ³  μ§€μ—­λ³€μˆ˜, λ§€κ°œλ³€μˆ˜, arguments 객체λ₯Ό 관리

 

eval μ½”λ“œ

  • 빌트인 μ „μ—­ ν•¨μˆ˜μΈ eval ν•¨μˆ˜μ— 인수둜 μ „λ‹¬λ˜μ–΄ μ‹€ν–‰λ˜λŠ” μ†ŒμŠ€ μ½”λ“œ
  • strict mode(엄격 λͺ¨λ“œ)μ—μ„œ μžμ‹ λ§Œμ˜ λ…μžμ μΈ μŠ€μ½”ν”„ 생성

 

λͺ¨λ“ˆ μ½”λ“œ

  • λͺ¨λ“ˆ λ‚΄λΆ€μ˜ ν•¨μˆ˜, 클래슀 λ“±μ˜ λ‚΄λΆ€ μ½”λ“œλŠ” ν¬ν•¨λ˜μ§€ μ•ŠλŠ”λ‹€.
  • λͺ¨λ“ˆλ³„λ‘œ 독립적인 μŠ€μ½”ν”„ 생성

 

 

μ†ŒμŠ€ μ½”λ“œμ˜ 평가와 μ‹€ν–‰

 

 

 

  1. μ†ŒμŠ€ μ½”λ“œμ˜ 평가 (μ„ μ–Έλ¬Έ)
    • μ‹€ν–‰ μ»¨ν…μŠ€νŠΈλ₯Ό 생성
    • λ³€μˆ˜, ν•¨μˆ˜ λ“±μ˜ μ„ μ–Έλ¬Έλ§Œ λ¨Όμ € μ‹€ν–‰
    • μƒμ„±λœ λ³€μˆ˜λ‚˜ ν•¨μˆ˜ μ‹λ³„μžλ₯Ό ν‚€λ‘œ μ‹€ν–‰ μ»¨ν…μŠ€νŠΈκ°€ κ΄€λ¦¬ν•˜λŠ” μŠ€μ½”ν”„μ— 등둝
    • λ ‰μ‹œμ»¬ ν™˜κ²½μ˜ ν™˜κ²½ λ ˆμ½”λ“œ (μ‹€ν–‰ μ»¨ν…μŠ€νŠΈκ°€ κ΄€λ¦¬ν•˜λŠ” μŠ€μ½”ν”„)

  2. μ†ŒμŠ€ μ½”λ“œμ˜ μ‹€ν–‰ (μ„ μ–Έλ¬Έ μ΄μ™Έμ˜ λ¬Έ)
    • μ†ŒμŠ€ μ½”λ“œ 평가 과정이 λλ‚˜λ©΄ 선언문을 μ œμ™Έν•œ μ†ŒμŠ€ μ½”λ“œκ°€ 순차적으둜 μ‹€ν–‰λ˜κΈ° μ‹œμž‘ (λŸ°νƒ€μž„ μ‹œμž‘)
    • 싀행에 ν•„μš”ν•œ 정보(λ³€μˆ˜λ‚˜ ν•¨μˆ˜μ˜ μ°Έμ‘°)λ₯Ό μ‹€ν–‰ μ»¨ν…μŠ€νŠΈκ°€ κ΄€λ¦¬ν•˜λŠ” μŠ€μ½”ν”„μ—μ„œ κ²€μƒ‰ν•΄μ„œ 취득
    • λ³€μˆ˜ κ°’μ˜ λ³€κ²½ λ“± μ†ŒμŠ€ μ½”λ“œμ˜ μ‹€ν–‰ κ²°κ³ΌλŠ” λ‹€μ‹œ μ‹€ν–‰ μ»¨ν…μŠ€νŠΈκ°€ κ΄€λ¦¬ν•˜λŠ” μŠ€μ½”ν”„μ— λ“±λ‘λœλ‹€.

 

 

μ‹€ν–‰ μ»¨ν…μŠ€νŠΈμ˜ μ—­ν• 

 

λ ‰μ‹œμ»¬ ν™˜κ²½

  • μ‹λ³„μžμ™€ μŠ€μ½”ν”„ 관리
  • μ½”λ“œκ°€ 어디에 μ‹€ν–‰λ˜λ©° 주변에 μ–΄λ–€ μ½”λ“œκ°€ μžˆλŠ”μ§€λ₯Ό λ ‰μ‹œμ»¬ ν™˜κ²½μ΄λΌκ³  λΆ€λ₯Έλ‹€.

 

μ‹€ν–‰ μ»¨ν…μŠ€νŠΈ μŠ€νƒ

  • μ½”λ“œ μ‹€ν–‰ μˆœμ„œ 관리

 

 

λ ‰μ‹œμ»¬ ν™˜κ²½

var x = 1;
const y = 2;

function foo (a) {
	var x = 3;
	const y = 4;

	function bar (b){
		const z = 5;
		console.log(a + b + x + y + z);
	}
	bar(10);
}

foo(20); // 42

 

 

 

μ €μž‘μžν‘œμ‹œ λ³€κ²½κΈˆμ§€ (μƒˆμ°½μ—΄λ¦Ό)

'Frontend > JavaScript' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

μŠ€μ½”ν”„ 체인  (0) 2024.05.08
ν΄λ‘œμ €  (0) 2024.04.13
μ›μ‹œ κ°’κ³Ό 객체의 비ꡐ  (0) 2024.03.14
μœ μ‚¬ λ°°μ—΄ 객체, μ΄ν„°λŸ¬λΈ”, 래퍼 객체  (0) 2024.03.13
ν•¨μˆ˜ μ •μ˜ (ν•¨μˆ˜ μ„ μ–Έλ¬Έ, ν•¨μˆ˜ ν‘œν˜„μ‹)  (0) 2024.03.07
    'Frontend/JavaScript' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
    • μŠ€μ½”ν”„ 체인
    • ν΄λ‘œμ €
    • μ›μ‹œ κ°’κ³Ό 객체의 비ꡐ
    • μœ μ‚¬ λ°°μ—΄ 객체, μ΄ν„°λŸ¬λΈ”, 래퍼 객체
    wam
    wam

    ν‹°μŠ€ν† λ¦¬νˆ΄λ°”