2021年6月17日木曜日

(new Date)['get' + 'Month']()みたいな方法はTypeScriptではできないっぽい

JavaScriptではできましたが、TypeScriptでは駄目なようです。
ブラウザによって違うのかもしれませんが、少なくともDenoは受け入れてくれませんでした。



日時を取得する関数を以下のように定義して



denoで実行したらエラーになりました



仕方がないのでevalに変えたら動作しました。






今回のように「日時を文字列化する」という目的なら他の解決策もありますが、それ以外のケースでこの手法が使えなくて困る場合が、もしかしたら、あるかも…。
…と、思いましたが、これは所謂バッドノウハウというヤツなのかもしれません。
実行時まで呼び出される関数が何だか分からないから型チェックもできなくなっちゃいますし。

0 件のコメント:

コメントを投稿