keyof ํ์ ์ฐ์ฐ์keyof ์ฐ์ฐ์๋ ๊ฐ์ฒด ํ์ ์ ๋ชจ๋ ํค๋ฅผ ์ถ์ถํ์ฌ ๋ฌธ์์ด ๋๋ ์ซ์ ๋ฆฌํฐ๋ด ์ ๋์ธ ํ์ ์ ๋ง๋ญ๋๋ค.type Point = { x: number; y: number };type P = keyof Point; // P๋ "x" | "y" ํ์ ์ด ๋จ ์ธ๋ฑ์ค ์๊ทธ๋์ฒ๊ฐ ์๋ ๊ฒฝ์ฐ์ธ๋ฑ์ค ์๊ทธ๋์ฒ: ๊ฐ์ฒด์ ๋์ ์ธ ํค-๊ฐ ์์ ๋ํ ํ์ ๊ท์น์ ์ ์ํ๋ ๋ฌธ๋ฒ ๋ง์ฝ ๊ฐ์ฒด ํ์ ์ string ๋๋ number ์ธ๋ฑ์ค ์๊ทธ๋์ฒ๊ฐ ์๋ค๋ฉด keyof๋ ํด๋น ํค ํ์ ์ ๋ฐํํฉ๋๋ค.// 'number' ์ธ๋ฑ์ค ์๊ทธ๋์ฒ๋ฅผ ๊ฐ์ง ๊ฐ์ฒดtype Arrayish = { [n: number]: unknown };type A = keyof Arrayish; // A๋ number ํ์ ์ด ๋จ// 'string' ์ธ๋ฑ์ค..