@@ -7,9 +7,9 @@ oneline: TypeScript 4.9 릴리즈 노트
77
88## ` satisfies ` 연산자
99
10- TypeScript 개발자들은 종종 딜레마에 직면합니다. 우리는 일부 표현식이 일부 타입과 * 일치* 하는지 확인하고 싶지만, 추론을 위해 표현식의 * 가장 구체적인 타입* 을 유지하고 싶을 때가 있습니다.
10+ TypeScript 개발자들은 종종 딜레마에 직면합니다. 우리는 일부 표현식이 타입과 * 일치* 하는지 확인하고 싶지만, 추론을 위해 표현식의 * 가장 구체적인 타입* 을 유지하고 싶을 때가 있습니다.
1111
12- 예를 들어:
12+ 예를 들어
1313
1414``` ts
1515// 각 속성은 문자열 또는 RGB 튜플일 수 있습니다.
@@ -20,15 +20,15 @@ const palette = {
2020// ^^^^ sacrebleu - 오타를 냈습니다!
2121};
2222
23- // 'red'속성이 배열로 사용할 수 있기를 원합니다 .
23+ // 우리는 배열 메서드를 'red'에 사용하고 싶습니다.. .
2424const redComponent = palette .red .at (0 );
2525
26- // 혹은 ` green`속성은 문자열로 사용할 수 있기를 원합니다 .
26+ // 혹은 ' green'에 문자열 메서드를 사용하고 싶을 수 있습니다.. .
2727const greenNormalized = palette .green .toUpperCase ();
2828```
2929
30- 우리는 ` bleu ` 를 썼지만 , ` blue ` 를 썼어야 했습니다.
31- ` palette ` 에 타입 표기를 사용해서 ` bleu ` 오타를 잡을 수도 있지만, 그렇게 되면 각 속성에 대한 정보를 잃게 됩니다.
30+ 우리는 ` bleu ` 대신 , ` blue ` 를 썼어야 했습니다.
31+ ` palette ` 에 타입을 표기해서 ` bleu ` 오타를 잡을 수도 있지만, 그렇게 되면 각 속성에 대한 정보를 잃게 됩니다.
3232
3333``` ts
3434type Colors = " red" | " green" | " blue" ;
@@ -39,10 +39,10 @@ const palette: Record<Colors, string | RGB> = {
3939 red: [255 , 0 , 0 ],
4040 green: " #00ff00" ,
4141 bleu: [0 , 0 , 255 ]
42- // ~~~~ 이제 오타가 올바르게 감지되었습니다
42+ // ~~~~ 이제 오타를 올바르게 감지했습니다.
4343};
4444
45- // 하지만 여기서 원치 않는 문제가 발생했습니다. - 'palette.red'가 문자열이 될 수 있다는것 입니다.
45+ // 하지만 여기서 원치 않는 문제가 발생했습니다. 'palette.red'가 문자열이 " 될 수 있다"는것 입니다.
4646const redComponent = palette .red .at (0 );
4747```
4848
@@ -61,13 +61,13 @@ const palette = {
6161// ~~~~ 오타가 잡혔습니다!
6262} satisfies Record <Colors , string | RGB >;
6363
64- // 이 두 가지 방법 모두 여전히 접근할 수 있습니다!
64+ // 두 메서드 모두 여전히 접근할 수 있습니다!
6565const redComponent = palette .red .at (0 );
6666const greenNormalized = palette .green .toUpperCase ();
6767```
6868
6969` satisfies ` 는 많은 오류를 탐지하는데 사용할 수 있습니다.
70- 예를 들면, 우리는 객체가 특정 타입의 * 모든* 키를 가지지만, 그 이상은 가지지 않도록 할 수 있습니다.
70+ 예를 들면, 객체가 특정 타입의 * 모든* 키를 가지지만, 그 이상은 가지지 않도록 할 수 있습니다.
7171
7272``` ts
7373type Colors = " red" | " green" | " blue" ;
@@ -81,11 +81,11 @@ const favoriteColors = {
8181// ~~~~~~~~~~ 에러 - "platypus"는 'Colors' 리스트에 없습니다.
8282} satisfies Record <Colors , unknown >;
8383
84- // '빨간색 ', '녹색 ' 및 '파란색' 속성에 대한 모든 정보가 유지됩니다.
84+ // 'red ', 'green ' 및 'blue' 속성의 모든 정보가 유지됩니다.
8585const g: boolean = favoriteColors .green ;
8686```
8787
88- 속성 이름이 어떻게든 일치하는지 여부는 신경 쓰지 않지만 각 속성의 타입에는 관심이 있습니다.
88+ 이따금 우리는 속성 이름이 일치 여부보다 각 속성의 타입에 관심이 있을 수 있습니다.
8989이 경우 개체의 모든 속성 값이 일부 타입을 준수하는지 확인할 수도 있습니다.
9090
9191``` ts
0 commit comments