Skip to content

Commit 9a22d13

Browse files
committed
reflect code review
1 parent ace961f commit 9a22d13

File tree

1 file changed

+20
-19
lines changed

1 file changed

+20
-19
lines changed

β€Ždocs/documentation/ko/release-notes/TypeScript 4.9.md

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -110,9 +110,10 @@ We'd like to thank [Oleksandr Tarasiuk](https://github.com/a-tarasyuk) who imple
110110

111111
κ°œλ°œμžλ“€μ€ 자주 λŸ°νƒ€μž„μ—μ„œ μ•Œ 수 μ—†λŠ” 값을 μ²˜λ¦¬ν•΄μ•Ό ν•  λ•Œκ°€ μžˆμŠ΅λ‹ˆλ‹€.
112112
μ„œλ²„μ—μ„œ μ‘λ‹΅λ°›κ±°λ‚˜ μ„€μ • νŒŒμΌμ„ μ½λŠ” 경우처럼 μ‹€μ œλ‘œ ν”„λ‘œνΌν‹°κ°€ μ‘΄μž¬ν•˜λŠ”μ§€ μ•Œ 수 μ—†λŠ” κ²½μš°κ°€ ν”ν•˜κ²Œ μžˆμŠ΅λ‹ˆλ‹€.
113-
JavaScript의 `in` μ—°μ‚°μžλ₯Ό ν™œμš©ν•˜λ©΄ 객체에 ν”„λ‘œνΌν‹°κ°€ μ‘΄μž¬ν•˜λŠ”μ§€ μ•Œ 수 μžˆμŠ΅λ‹ˆλ‹€.
113+
JavaScript의 `in` μ—°μ‚°μžλ₯Ό μ‚¬μš©ν•˜λ©΄
114+
객체에 ν”„λ‘œνΌν‹°κ°€ μ‘΄μž¬ν•˜λŠ”μ§€ μ•Œ 수 μžˆμŠ΅λ‹ˆλ‹€.
114115

115-
이전에, TypeScriptμ—μ„œλŠ” μ •μ˜λ˜μ§€ μ•ŠλŠ” ν”„λ‘œνΌν‹°λ₯Ό μ‚¬μš©ν•˜μ—¬ νƒ€μž…μ„ 쒁힐 수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€.
116+
이전 TypeScript λ²„μ „μ—μ„œλŠ” λͺ…μ‹œμ μœΌλ‘œ ν”„λ‘œνΌν‹°κ°€ νƒ€μž… λͺ©λ‘μ— μ—†λ‹€λ©΄ λ²”μœ„λ₯Ό 쒁힐 수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€.
116117

117118
```ts
118119
interface RGB {
@@ -129,22 +130,22 @@ interface HSV {
129130

130131
function setColor(color: RGB | HSV) {
131132
if ("hue" in color) {
132-
// 이제 'color' λŠ” HSV νƒ€μž…μ„ κ°–κ²Œλ˜μ—ˆμŠ΅λ‹ˆλ‹€.
133+
// 이제 'color'의 νƒ€μž…μ€ HSV μž…λ‹ˆλ‹€.
133134
}
134135
// ...
135136
}
136137
```
137138

138-
μ—¬κΈ°μ„œ, `RGB` νƒ€μž…μ— μ •μ˜λ˜μ§€ μ•Šμ€ `hue`에 μ˜ν•΄ νƒ€μž…μ΄ μ’ν˜€μ§€κ²Œ λ˜μ–΄, `HSV` νƒ€μž…μ΄ λ‚¨κ²Œ λ˜μ—ˆμŠ΅λ‹ˆλ‹€.
139+
μ—¬κΈ°μ„œ, `RGB` νƒ€μž…μ— μ •μ˜λ˜μ§€ μ•Šμ€ `hue`에 μ˜ν•΄ νƒ€μž…μ΄ μ’ν˜€μ§€κ²Œ λ˜μ–΄, `HSV` νƒ€μž…μ΄ λ˜μ—ˆμŠ΅λ‹ˆλ‹€.
139140

140141
κ·ΈλŸ¬λ‚˜ ν”„λ‘œνΌν‹°κ°€ μ£Όμ–΄μ§„ νƒ€μž…μ΄ μ—†λŠ” κ²½μš°μ—λŠ” μ–΄λ–¨κΉŒμš”?
141-
그런 경우, μ–Έμ–΄κ°€ 큰 도움이 λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.
142-
μ—¬κΈ° JavaScript둜 된 μ˜ˆμ‹œλ₯Ό μ‚΄νŽ΄λ³΄κ² μŠ΅λ‹ˆλ‹€
142+
그런 경우, μ–Έμ–΄λŠ” 큰 도움이 λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.
143+
μ—¬κΈ° JavaScript둜 된 μ˜ˆμ‹œλ₯Ό μ‚΄νŽ΄λ³΄κ² μŠ΅λ‹ˆλ‹€.
143144

144145
```js
145146
function tryGetPackageName(context) {
146147
const packageJSON = context.packageJSON;
147-
// 객체가 λ§žλŠ”μ§€ ν™•μΈν•©λ‹ˆλ‹€.
148+
// 객체 μ—¬λΆ€λ₯Ό ν™•μΈν•©λ‹ˆλ‹€.
148149
if (packageJSON && typeof packageJSON === "object") {
149150
// λ¬Έμžμ—΄ νƒ€μž…μ˜ name ν”„λ‘œνΌν‹°λ₯Ό κ°€μ§€κ³  μžˆλŠ”μ§€ ν™•μΈν•©λ‹ˆλ‹€.
150151
if ("name" in packageJSON && typeof packageJSON.name === "string") {
@@ -156,8 +157,8 @@ function tryGetPackageName(context) {
156157
}
157158
```
158159

159-
이것을 ν‘œμ€€ Typescript둜 λ‹€μ‹œ μž‘μ„±ν•œλ‹€λ©΄ `context`에 λŒ€ν•œ νƒ€μž…μ„ μ •μ˜ν•΄μ„œ μ‚¬μš©ν•˜κ²Œ 될 κ²ƒμž…λ‹ˆλ‹€.
160-
ν•˜μ§€λ§Œ, `packageJSON`의 속성에 `unknown`κ³Ό 같은 μ•ˆμ „ν•œ νƒ€μž…μ„ μ‚¬μš©ν•˜λ©΄ 이전 νƒ€μž…μŠ€ν¬λ¦½νŠΈ λ²„μ „λ“€μ—μ„œ λ¬Έμ œκ°€ λ°œμƒν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.
160+
이것을 ν‘œμ€€ TypeScript둜 λ‹€μ‹œ μž‘μ„±ν•œλ‹€λ©΄ `context` νƒ€μž…μ„ μ •μ˜ν•΄μ„œ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
161+
ν•˜μ§€λ§Œ `packageJSON`의 ν”„λ‘œνΌν‹°μ— `unknown`κ³Ό 같은 μ•ˆμ „ν•œ νƒ€μž…μ„ μ‚¬μš©ν•˜λ©΄ 이전 TypeScript λ²„μ „μ—μ„œ λ¬Έμ œκ°€ λ°œμƒν•  수 μžˆμŠ΅λ‹ˆλ‹€.
161162

162163
```ts
163164
interface Context {
@@ -166,7 +167,7 @@ interface Context {
166167

167168
function tryGetPackageName(context: Context) {
168169
const packageJSON = context.packageJSON;
169-
// 객체가 λ§žλŠ”μ§€ ν™•μΈν•©λ‹ˆλ‹€.
170+
// 객체 μ—¬λΆ€λ₯Ό ν™•μΈν•©λ‹ˆλ‹€.
170171
if (packageJSON && typeof packageJSON === "object") {
171172
// λ¬Έμžμ—΄ νƒ€μž…μ˜ name ν”„λ‘œνΌν‹°λ₯Ό κ°€μ§€κ³  μžˆλŠ”μ§€ ν™•μΈν•©λ‹ˆλ‹€.
172173
if ("name" in packageJSON && typeof packageJSON.name === "string") {
@@ -182,13 +183,13 @@ function tryGetPackageName(context: Context) {
182183
}
183184
```
184185

185-
μ΄λŠ” `packageJSON`의 νƒ€μž…μ΄ `unknown`μ—μ„œ `object`둜 μ’ν˜€μ‘ŒμœΌλ‚˜, `in` μ—°μ‚°μžλŠ” μ‹€μ œλ‘œ μ •μ˜ν•œ νƒ€μž…μœΌλ‘œ μ—„κ²©ν•˜κ²Œ μ’ν˜”κΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€.
186-
κ·Έ κ²°κ³Ό, `packageJSON`은 `object`둜 λ‚¨κ²Œ λ˜μ—ˆμŠ΅λ‹ˆλ‹€.
186+
`packageJSON`의 νƒ€μž…μ΄ `unknown`μ—μ„œ `object`둜 μ’ν˜€μ‘Œμ§€λ§Œ, `in` μ—°μ‚°μžλŠ” μ‹€μ œ μ •μ˜ν•œ νƒ€μž…μœΌλ‘œ μ—„κ²©ν•˜κ²Œ μ’ν˜”κΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€.
187+
결과적으둜 `packageJSON`의 νƒ€μž…μ€ `object`κ°€ λ˜μ—ˆμŠ΅λ‹ˆλ‹€.
187188

188-
TypeScript 4.9λŠ” ν”„λ‘œνΌν‹°κ°€ μ „ν˜€ μ •μ˜λ˜μ§€ _μ•Šμ€_ νƒ€μž…μ„ 쒁힐 λ•Œ, `in` μ—°μ‚°μžλ₯Ό μ‚¬μš©ν•˜μ—¬ 쑰금 더 κ°•λ ₯ν•˜κ²Œ λ§Œλ“­λ‹ˆλ‹€.
189-
μ΄μ „κ³ΌλŠ” λ‹€λ₯΄κ²Œ, μ–Έμ–΄λŠ” `Record<"property-key-being-checked", unknown>`κ³Ό νƒ€μž…μ„ κ΅μ°¨ν•©λ‹ˆλ‹€.
189+
TypeScript 4.9λŠ” ν”„λ‘œνΌν‹°κ°€ μ „ν˜€ μ •μ˜λ˜μ§€ _μ•Šμ€_ νƒ€μž…μœΌλ‘œ 쒁힐 λ•Œ, `in` μ—°μ‚°μžλ₯Ό μ‚¬μš©ν•˜μ—¬ 쑰금 더 κ°•λ ₯ν•˜κ²Œ λ§Œλ“­λ‹ˆλ‹€.
190+
이전과 μ°¨μ΄λŠ” μ—†μ§€λ§Œ, μ–Έμ–΄ λ‚΄λΆ€μ μœΌλ‘œ `Record<"property-key-being-checked", unknown>` νƒ€μž…μ„ κ΅μ°¨ν•©λ‹ˆλ‹€.
190191

191-
λ”°λΌμ„œ μœ„ μ˜ˆμ‹œμ—μ„œ, `packageJSON`λŠ” `unknown`μ—μ„œ `object`둜 κ·Έλ‹€μŒ `object & Record<"name", unknown>`둜 νƒ€μž…μ΄ μ’ν˜€μ§‘λ‹ˆλ‹€.
192+
λ”°λΌμ„œ μœ„ μ˜ˆμ‹œμ—μ„œ, `packageJSON` νƒ€μž…μ€ `unknown`μ—μ„œ `object`둜 κ·Έλ‹€μŒ `object & Record<"name", unknown>`둜 νƒ€μž…μ΄ μ’ν˜€μ§‘λ‹ˆλ‹€.
192193
이λ₯Ό 톡해 `packageJSON.name`에 직접 접근이 κ°€λŠ₯ν•΄μ§€κ³  λ…λ¦½μ μœΌλ‘œ μ’ν˜€μ§‘λ‹ˆλ‹€.
193194

194195
```ts
@@ -198,11 +199,11 @@ interface Context {
198199

199200
function tryGetPackageName(context: Context): string | undefined {
200201
const packageJSON = context.packageJSON;
201-
// 객체가 λ§žλŠ”μ§€ ν™•μΈν•©λ‹ˆλ‹€.
202+
// 객체 μ—¬λΆ€λ₯Ό ν™•μΈν•©λ‹ˆλ‹€.
202203
if (packageJSON && typeof packageJSON === "object") {
203204
// λ¬Έμžμ—΄ νƒ€μž…μ˜ name ν”„λ‘œνΌν‹°λ₯Ό κ°€μ§€κ³  μžˆλŠ”μ§€ ν™•μΈν•©λ‹ˆλ‹€.
204205
if ("name" in packageJSON && typeof packageJSON.name === "string") {
205-
// λ™μž‘!
206+
// 정상 λ™μž‘ν•©λ‹ˆλ‹€!
206207
return packageJSON.name;
207208
}
208209
}
@@ -211,8 +212,8 @@ function tryGetPackageName(context: Context): string | undefined {
211212
}
212213
```
213214

214-
TypeScript 4.9λŠ” λ˜ν•œ `in`의 검사λ₯Ό κ°•ν™”ν•˜μ—¬ left sideμ—λŠ” `string | number | symbol`, right sideμ—λŠ” `object`둜만 ν• λ‹Ήν•  수 μžˆλ„λ‘ λ³΄μ¦ν•©λ‹ˆλ‹€.
215-
μ΄λŠ” μœ νš¨ν•œ ν”„λ‘œνΌν‹° ν‚€λ₯Ό μ‚¬μš©ν–ˆλŠ”μ§€, μ‹€μˆ˜λ‘œ ν”„λ¦¬λ―Έν‹°λΈŒλ₯Ό κ²€μ¦ν•˜κ³  μžˆλŠ”μ§€ ν™•μΈν•˜λŠ” 데 도움이 λ©λ‹ˆλ‹€.
215+
λ˜ν•œ TypeScript 4.9λŠ”`in`의 μ‚¬μš©μ„±μ—μ„œ ν™•μΈν•˜λŠ” 뢀뢄을 κ°•ν™”ν•˜μ—¬ μ™Όμͺ½μ—λŠ” `string | number | symbol`, 였λ₯Έμͺ½μ—λŠ” `object`둜만 ν• λ‹Ήν•  수 μžˆλ„λ‘ 보μž₯ν•©λ‹ˆλ‹€.
216+
이λ₯Ό μ΄μš©ν•΄μ„œ ν”„λ‘œνΌν‹° ν‚€κ°€ μœ νš¨ν•œμ§€, μ‹€μˆ˜λ‘œ ν”„λ¦¬λ―Έν‹°λΈŒ 검증을 λ†“μ³€λŠ”μ§€ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.
216217

217218
더 λ§Žμ€ 정보λ₯Ό μ–»κ³  μ‹Άλ‹€λ©΄, [이λ₯Ό κ΅¬ν˜„ν•œ pull requestλ₯Ό μ½μ–΄λ³΄μ„Έμš”](https://github.com/microsoft/TypeScript/pull/50666)
218219

0 commit comments

Comments
Β (0)