기타

문자열로 전달된 타입이름과 실제 값의 호환 여부 비교

ne

nemorize
답변 대기중
30 XP
const expectedTypeName = 'int';
const actualValue: string = 12;
try {
  const func = eval(sprintf('return function (_: %s) {};', expectedTypeName));
  func(actualValue);
  print('ok');
}
catch (TypeError) {
  print('fail');
}
// output: fail

위 코드와 같은 형식으로 eval을 사용해 클로져를 생성하고, 그 클로져에 값을 넣어 타입 에러가 발생하는지 하지 않는지 체크하는 형태를 생각하고 있는데...
expectedTypeName 에 인젝션 가능성이 0% 라고 한다면 (Reflection API를 활용해 추출한 값), 문제가 없을까요?


불러오는 중...