1. TOPTOP
  2. Webサービス
  3. JavaScript

JavaScriptの無名関数とjQueryオブジェクトの引数について in kintoneモクモク会 #kintone

|

kinotone_mokumoku20170809

ドットインストールでJavaScriptのレッスンを写経しているだけでは勿体無いので、最近はサイボウズ株式会社さんのkinotoneモクモク会に参加して、kintone JavaScript(新しいタブで開く)について学習をしています。kinotoneユーザーの方からアプリのカスタマイズやプラグインの作成を頼まれたら、オーダーメイドができるようになることが目標です。

JavaScriptの無名関数とjQueryオブジェクトの引数

昨日のモクモク会でチュートリアルとして写経をしようと思ったのが、勤怠管理アプリ(新しいタブで開く)のカスタマイズスクリプトです。203行で記述がされていますが、まず注目すべきところは、最初の宣言文と即時関数です。これらはお約束ごとの書き方らしいですが、気になるので色々調べてみました。

jQuery.noConflict();
(function($) {

}(jQuery)

jQuery.noConflict()について

この関数を実行すると、$関数の動作が先に定義されている動作に戻ります。複数のjQueryが定義されている場合、「このjQueryを使いますよ」という宣言をしているとのことです。

即時関数 function($) の引数

$はjQueryの意味です。聞くところによると$という文字は任意の文字列で、$でなくてもeとかiなんでも良いらしいです。今度、モクモク会に参加したときに試してみます。

即時関数の引数(jQuery)の意味

即時関数の引数として使われているjQueryとは、jQueryオブジェクトのことだそうです。JavaScriptの専門用語で言うところの「プリミティブではない型」のことを指します。この引数をとることで、カスタマイズした勤怠管理アプリのJavaScriptが実行されます。

1行目でnoConflictを使っているので、jQueryオブジェクトの呼び出しには明確にjQueryと書く必要があります。

JavaScriptなのになんでjQueryなの?

kinotoneはJavaScriptがベースになっているので、いきなり”jQuery”の文字列が出てきた時は、非常に面食らいました。ですがスクリプトの中でjQueryが使われているのは、サイボウズ専用のjQueryライブラリ(新しいタブで開く)を使う必要があるからだと思います(「思います」と書いたのは自分の推測。今度「なかの人」に会ったときに本当かどうか質問しておきます)。

と言うわけで、9月もkinotoneモクモク会に参加する予定です。kintoneだけでなく、プログラミング言語の学習の一環としてJavaScriptにご興味のある方の参加もお待ちしています。

【参考サイト】