質問: ### typescriptでjQueryのtoggleを使う時、下記のようにjsで書くものをtsにする場合はどのように記述すればよいでしょうか? $('#hoge').toggle(function(){ //奇数回の時の挙動 }, function(){ //偶数回の時の挙動 }); ### 発生している問題・エラーメッセージ ``` TypeScript: _ts/script.ts(00,00): error TS2345: Argument of type '() => void' is not assignable to parameter of type 'string | number'. Type '() => void' is not assignable to type 'number'. ``` と出てしまいます。 型が指定されていないということですが、この場合はどのようにすればよいのでしょうか? 何卒よろしくお願い致します。
回答: jQueryの`.toggle()`で奇数回の関数・偶数回の関数を書く書き方は古い書き方で、jQuery1.9から削除されており、最新のjQueryでは使用できません。 参考: .toggle() | jQuery API Documentation 既に削除済みの機能のため、型定義もなく、TypeScriptではエラーになります(全く別の`.toggle()`というメソッドがありますが、機能は全く異なり、引数の型も互換はありません)。たとえJavaScriptに変換できても、動くことはありません。 旧`.toggle()`と同じようなことをしたい場合は下記を参考にしてみてください。 * jQuery 1.9 で削除された、クリックイベントを交互に繰り返す「.toggle()」のみを使いたい - HAM MEDIA MEMO * jQuery .toggle event deprecated, What to use? - Stack Overflow