DIGITAL COFFEE-デジタルコーヒー

コーヒー飲みたい系SE(システムエンジニア)による、どうでもいいことを呟くどうでもいいブログ

angular2で無理やり非対応JavaScriptのライブラリを使う

お久しぶりです、PlugOutです。

 

f:id:PlugOut:20161224180344p:plain

今回はプログラミングのお話。

 

最近Angular2を使っていて、どうしてもAngular2の非対応モジュールを使わなければならない場面に出くわしたのでメモ程度に書きます。

TypeScriptでAngular2のコードを書いていると、内部でJavaScriptのAngular2に非対応なライブラリを呼び出そうとするとコンパイルエラーが発生します。

jQueryとかだと型ファイルを取りこめばうまく解消されたりするんですけどね。

その場合に無理やりそのモジュールを呼び出すのがeval()でゴリ押しするという方法。

外部JavaScriptファイルで定義された、HogeというクラスのdoFuga()を呼び出したい場合はこう書きます。

let hoge = null;
eval("hoge = new Hoge();");
hoge.doFuga();

こう記述してやると、コンパイルエラーにならずに無理やりHogeのクラスを生成できます。

何でこれが可能かっていうと、TypeScriptって最終的にはJavaScriptになって動くからで、無理やりコンパイルの部分のチェックをスキップさせているからなんですが……。

まぁただJavaのReflectionと同じで黒魔術感が半端ないので、できれば使わない方がよさそうです。

どうしようも無くなった時の最終手段的な感じで使うと良いのかな?

 

※ エンジニア系のネタは下のブログに移行中です。

plugout.hateblo.jp

 

雑記(2016-12-16)

f:id:PlugOut:20161217020523j:image

う今年も早いもので、既に12月の半ばに差し掛かって来ましたね。

やはり「この1年もいろんなことがあったなぁ」と、しみじみ思い返す時期ですよ。

もちろん「良いこと」「悪いこと」は思い出せる限りでもそれぞれ沢山あったけれど……とりあえずコーヒーは沢山飲んだかなぁ(笑)

残りわずかの時間、なんとか悔いがないように過ごして来年を迎えたいところです。

(なんだか死ぬ間際の言葉みたいだな)

 

しかし最近、全然ブログの記事を書けていないなぁ。

もうちょっと頑張ろう。

 

連絡先: plugout777★yahoo.co.jp (クローラー対策のため★を@に変更してください)