あるオブジェクトのキーの値が数値なのか文字列なのか判定したいのですが、書き方が分かりません。
javascript
1 2interface Obj { 3 str: string, 4 num: number, 5 strNum: string 6} 7 8const test: Obj = {str: "string", num: 1, strNum: "2"}
このとき、オブジェクトのキーstrNumの型を調べる(アクセスする)方法はありますでしょうか?
やりたいこと
フォームの入力値がstringで返されてしまうので、オブジェクトのプロパティの型がnumberの場合はvalueAsNumber(数値に変換)を使ってオブジェクトに格納したい。
const handleClick(key: keyof Obf) { // setStateはObjの状態を変更する関数(以下だと全てstringで格納されてしまう) setState(test => {...test, [key]: e.target.value}) } // フォーム <input value = test.str onclick = (e) => handleClick("str") /> <input value = test.num onclick = (e) => handleClick("num") /> <input value = test.strNum onclick = (e) => handleClick("strNum") />