Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 49 additions & 1 deletion Chapter21~30/Chapter23/ch23-문제.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,58 @@
# Chapter23 μ‹€ν–‰ μ»¨ν…μŠ€νŠΈ

## πŸ“Œλ¬Έμ œ1
### 문제 μž‘μ„±

### true,falseλ₯Ό κ³ λ₯΄μ‹œμ˜€.

```
1. μžλ°”μŠ€ν¬λ¦½νŠΈ 엔진은 μ†ŒμŠ€μ½”λ“œλ₯Ό 2개의 κ³Όμ •, β€œμ†ŒμŠ€μ½”λ“œμ˜ 평가" 와 β€œμ†ŒμŠ€μ½”λ“œμ˜ 싀행” κ³Όμ •μœΌλ‘œ λ‚˜λˆ„μ–΄ μ²˜λ¦¬ν•œλ‹€.
2. λ ‰μ‹œμ»¬ ν™˜κ²½μ€ μ‹λ³„μžμ™€ μ‹λ³„μžμ— λ°”μΈλ”©λœ κ°’, 그리고 μƒμœ„ μŠ€μ½”ν”„μ—λŒ€ν•œ μ°Έμ‘°λ₯Ό κΈ°λ‘ν•˜λŠ” μžλ£Œκ΅¬μ‘°λ‹€.
3. λ ‰μ‹œμ»¬ ν™˜κ²½μ€ EnvironmentRecord, OuterLexicalEnvironmentReference둜 κ΅¬μ„±λœλ‹€.
```

### λ‹΅μ•ˆ μž‘μ„±

```

```

<br>

## πŸ“Œλ¬Έμ œ2

### μ „μ—­ ν™˜κ²½ λ ˆμ½”λ“œλ₯Ό κ΅¬μ„±ν•˜λŠ” μ»΄ν¬λ„ŒνŠΈ2κ°€μ§€λ₯Ό μž‘μ„±ν•˜κ³  κ°κ°μ—μ„œ κ΄€λ¦¬λ˜λŠ” 값이 무엇인지 μ„œμˆ ν•˜μ‹œμ˜€.

```

```

### λ‹΅μ•ˆ μž‘μ„±

```

```

<br>

## πŸ“Œλ¬Έμ œ3

### λ‹€μŒ μ½”λ“œκ°€ μ‹€ν–‰λ λ•Œμ˜ λ ‰μ‹œμ»¬ν™˜κ²½μ˜ λ³€ν™”μ—λŒ€ν•΄μ„œ μž‘μ„±ν•˜μ‹œμ˜€.

```js
let x = 1;

if (true) {
let x = 10;
console.log(x); // 10
}

console.log(x); // 1
```

### λ‹΅μ•ˆ μž‘μ„±

```

```

<br>
52 changes: 50 additions & 2 deletions Chapter21~30/Chapter23/ch23-ν•΄μ„€.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,58 @@
# Chapter23 μ‹€ν–‰ μ»¨ν…μŠ€νŠΈ

## πŸ“Œλ¬Έμ œ1
### 문제 μž‘μ„±

### true,falseλ₯Ό κ³ λ₯΄μ‹œμ˜€.

```
1. μžλ°”μŠ€ν¬λ¦½νŠΈ 엔진은 μ†ŒμŠ€μ½”λ“œλ₯Ό 2개의 κ³Όμ •, β€œμ†ŒμŠ€μ½”λ“œμ˜ 평가" 와 β€œμ†ŒμŠ€μ½”λ“œμ˜ 싀행” κ³Όμ •μœΌλ‘œ λ‚˜λˆ„μ–΄ μ²˜λ¦¬ν•œλ‹€.
2. λ ‰μ‹œμ»¬ ν™˜κ²½μ€ μ‹λ³„μžμ™€ μ‹λ³„μžμ— λ°”μΈλ”©λœ κ°’, 그리고 μƒμœ„ μŠ€μ½”ν”„μ—λŒ€ν•œ μ°Έμ‘°λ₯Ό κΈ°λ‘ν•˜λŠ” μžλ£Œκ΅¬μ‘°λ‹€.
3. λ ‰μ‹œμ»¬ ν™˜κ²½μ€ EnvironmentRecord, OuterLexicalEnvironmentReference둜 κ΅¬μ„±λœλ‹€.
```

### λ‹΅μ•ˆ μž‘μ„±

```

```

<br>

## πŸ“Œλ¬Έμ œ2

### μ „μ—­ ν™˜κ²½ λ ˆμ½”λ“œλ₯Ό κ΅¬μ„±ν•˜λŠ” μ»΄ν¬λ„ŒνŠΈ2κ°€μ§€λ₯Ό μž‘μ„±ν•˜κ³  κ°κ°μ—μ„œ κ΄€λ¦¬λ˜λŠ” 값이 무엇인지 μ„œμˆ ν•˜μ‹œμ˜€.

```

```
### μ •λ‹΅ 및 ν•΄μ„€

### λ‹΅μ•ˆ μž‘μ„±

```

```

<br>

## πŸ“Œλ¬Έμ œ3

### λ‹€μŒ μ½”λ“œκ°€ μ‹€ν–‰λ λ•Œμ˜ λ ‰μ‹œμ»¬ν™˜κ²½μ˜ λ³€ν™”μ—λŒ€ν•΄μ„œ μž‘μ„±ν•˜μ‹œμ˜€.

```js
let x = 1;

if (true) {
let x = 10;
console.log(x); // 10
}

console.log(x); // 1
```

### λ‹΅μ•ˆ μž‘μ„±

```
-> μ½”λ“œκ°€ μ‹€ν–‰λ˜λŠ”κ³Όμ •μ—μ„œ μ „μ—­ μ‹€ν–‰μ»¨ν…μŠ€νŠΈμ˜ λ ‰μ‹œμ»¬ν™˜κ²½μ€ μ „μ—­ λ ‰μ‹œμ»¬ ν™˜κ²½μ„ 가리킀닀가, if이 μ‹€ν–‰λ˜λŠ”κ³Όμ •μ—μ„œ if문의 μ½”λ“œλΈ”λ‘μ˜ λ ‰μ‹œμ»¬ ν™˜κ²½μ„ μƒμ„±ν•œν›„ 이λ₯Ό μ „μ—­ λ ‰μ‹œμ»¬ ν™˜κ²½μ„ λŒ€μ²΄ν•œλ‹€. μ΄λ•Œ μ „μ—­ λ ‰μ‹œμ»¬ν™˜κ²½μ€ μ‚¬λΌμ§€μ§€μ•Šκ³  μ½”λ“œλΈ”λ‘ λ ‰μ‹œμ»¬ν™˜κ²½μ˜ μ™ΈλΆ€ λ ‰μ‹œμ»¬ν™˜κ²½μ—μ˜ν•΄ 참쑰되고, if문이 μ’…λ£Œλ˜λ©΄ λ‹€μ‹œ μ „μ—­ λ ‰μ‹œμ»¬ ν™˜κ²½μœΌλ‘œ λŒ€μ²΄λœλ‹€.
```

<br>
66 changes: 65 additions & 1 deletion Chapter21~30/Chapter24/ch24-문제.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,74 @@
# Chapter24 ν΄λ‘œμ €

## πŸ“Œλ¬Έμ œ1
### 문제 μž‘μ„±

### μ•„λž˜μ½”λ“œμ˜ κ²°κ³Όκ°€ λ‹€μŒκ³Όκ°™μ€ μ΄μœ μ—λŒ€ν•΄μ„œ μ„€λͺ…ν•˜μ‹œμ˜€.

```js
const x = 1;

function outerFunc() {
const x = 10;
innerFunc();
}

function innerFunc() {
console.log(x);
}

outerFunc(); // 1
```

### λ‹΅μ•ˆ μž‘μ„±

```

```

<br>

## πŸ“Œλ¬Έμ œ2

### μ•„λž˜μ½”λ“œμ€‘ ν΄λ‘œμ €λ₯Ό μ°ΎμœΌμ‹œμ˜€.

```js
const x = 1;

function outer() {
// 1
const y = 10;
const inner = function () {
console.log(y);
}; // 2
return inner;
}

const innerFunc = outer();
innerFunc();
```

### λ‹΅μ•ˆ μž‘μ„±

```

```

<br>

## πŸ“Œλ¬Έμ œ3

### true or false 쀑 κ³ λ₯΄μ‹œμ˜€.

```
1.λŒ€λΆ€λΆ„μ˜ λͺ¨λ˜ λΈŒλΌμš°μ €μ—μ„œμ˜ ν΄λ‘œμ €λž€ μƒμœ„μŠ€μ½”ν”„λ₯Ό 전체닀 κΈ°μ–΅ν•˜λŠ”κ²ƒμ„ μ˜λ―Έν•œλ‹€.

2.μžμœ λ³€μˆ˜λž€ ν΄λ‘œμ €μ— μ˜ν•΄ 참쑰되고 μžˆμ§€μ•ŠλŠ” μƒνƒœμ˜ λ³€μˆ˜λ₯Ό μ˜λ―Έν•œλ‹€.
```

### λ‹΅μ•ˆ μž‘μ„±

```

```

<br>
73 changes: 71 additions & 2 deletions Chapter21~30/Chapter24/ch24-ν•΄μ„€.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,79 @@
# Chapter24 ν΄λ‘œμ €

## πŸ“Œλ¬Έμ œ1
### 문제 μž‘μ„±

### μ•„λž˜μ½”λ“œμ˜ κ²°κ³Όκ°€ λ‹€μŒκ³Όκ°™μ€ μ΄μœ μ—λŒ€ν•΄μ„œ μ„€λͺ…ν•˜μ‹œμ˜€.

```js
const x = 1;

function outerFunc() {
const x = 10;
innerFunc();
}

function innerFunc() {
console.log(x);
}

outerFunc(); // 1
```

### λ‹΅μ•ˆ μž‘μ„±

```
μžλ°”μŠ€ν¬λ¦½νŠΈλŠ” λ ‰μ‹œμ»¬ μŠ€μ½”ν”„λ₯Ό λ”°λ₯΄λŠ” 언어이기 λ•Œλ¬Έμ—, ν•¨μˆ˜μ˜ 호좜 μœ„μΉ˜κ°€μ•„λ‹Œ, μ„ μ–Έλœ μœ„μΉ˜μ—μ˜ν•΄ μƒμœ„ μŠ€μ½”ν”„λ₯Ό κ²°μ •ν•˜κΈ° λ•Œλ¬Έμ—, 10이 μ•„λ‹Œ 1이 호좜결과둜 λ‚˜νƒ€λ‚œλ‹€.
```

<br>

## πŸ“Œλ¬Έμ œ2

### μ•„λž˜μ½”λ“œμ€‘ ν΄λ‘œμ €λ₯Ό μ°ΎμœΌμ‹œμ˜€.

```js
const x = 1;

function outer() {
// 1
const y = 10;
const inner = function () {
console.log(y);
}; // 2
return inner;
}

const innerFunc = outer();
innerFunc();
```

### λ‹΅μ•ˆ μž‘μ„±

```
### μ •λ‹΅ 및 ν•΄μ„€
β†’ inner.

outerν•¨μˆ˜μ˜ μ€‘μ²©ν•¨μˆ˜μΈ innerν•¨μˆ˜λŠ” outerν•¨μˆ˜μ˜ 싀행이 μ’…λ£Œλ˜κ³  outerν•¨μˆ˜μ˜ μ‹€ν–‰ μ»¨ν…ŒμŠ€νŠΈκ°€ μ‹€ν–‰μ»¨ν…μŠ€νŠΈμ˜ μŠ€νƒμ—μ„œ μ œκ±°λ˜μ—ˆμŒμ—λ„ λΆˆκ΅¬ν•˜κ³  outerν•¨μˆ˜μ˜ μ§€μ—­λ³€μˆ˜μΈ yλ₯Ό μ°Έμ‘°ν•˜κ²Œλ˜κΈ° λ•Œλ¬Έμ΄λ‹€.
```

<br>

## πŸ“Œλ¬Έμ œ3

### true or false 쀑 κ³ λ₯΄μ‹œμ˜€.

```
1.λŒ€λΆ€λΆ„μ˜ λͺ¨λ˜ λΈŒλΌμš°μ €μ—μ„œμ˜ ν΄λ‘œμ €λž€ μƒμœ„μŠ€μ½”ν”„λ₯Ό 전체닀 κΈ°μ–΅ν•˜λŠ”κ²ƒμ„ μ˜λ―Έν•œλ‹€.

2.μžμœ λ³€μˆ˜λž€ ν΄λ‘œμ €μ— μ˜ν•΄ 참쑰되고 μžˆμ§€μ•ŠλŠ” μƒνƒœμ˜ λ³€μˆ˜λ₯Ό μ˜λ―Έν•œλ‹€.
```

### λ‹΅μ•ˆ μž‘μ„±

```
1.false : μƒμœ„ μŠ€μ½”ν”„μ˜ μ‹λ³„μžμ€‘μ—μ„œ κΈ°μ–΅ν•΄μ•Όν•  μ‹λ³„μžλ§Œμ„ κΈ°μ–΅ν•œλ‹€.

2.false : μ°Έμ‘°λ˜λŠ” λ³€μˆ˜λ₯Ό μžμœ λ³€μˆ˜λΌν•˜κ³ , ν΄λ‘œμ €λž€ β€œμžμœ λ³€μˆ˜μ—λŒ€ν•΄ λ‹«ν˜€μžˆλ‹€β€, β€œμžμœ λ³€μˆ˜μ— λ¬Άμ—¬μžˆλŠ” ν•¨μˆ˜β€λΌκ³  ν•  수 μžˆλ‹€.

```

<br>