バインディングとは?
ばいんでぃんぐ
プログラミングにおいて、名前(変数・関数名など)と値や実体を結びつける操作や仕組みのことをいいます。
バインディング(Binding)とは、プログラミングにおいて識別子(変数名・関数名・型名など)と、それが指し示す値・オブジェクト・メモリアドレスなどの実体を関連付ける操作および仕組みのことです。
バインディングが行われるタイミングにより、大きく2種類に分かれます。静的バインディング(早期バインディング)はコンパイル時に決定され、呼び出す関数や型が確定します。一方、動的バインディング(遅延バインディング)は実行時に決定され、オブジェクト指向言語のポリモーフィズム(動的ディスパッチ)がその代表例です。
バインディングという言葉はさまざまな文脈で登場します。
- 変数バインディング:変数名に値を結びつけること(例:let x = 5)
- 言語バインディング:あるライブラリをほかの言語から呼び出すためのラッパー(例:PythonからC言語のライブラリを使うためのバインディング)
- データバインディング:UIフレームワークでデータモデルと表示要素を同期させる仕組み(例:Vue.jsの双方向バインディング)
- イベントバインディング:イベント(クリックなど)とハンドラー関数を結びつけること
バインディングの概念はスコープ(有効範囲)や寿命(ライフタイム)と密接に関連しており、プログラムの動作を理解する上で欠かせない基礎知識です。特にRustではバインディングとオーナーシップが組み合わさり、メモリ安全性の核心を担っています。
使い方・例文
Vue.jsのフォームでv-modelを使うと、入力フィールドの値とJavaScriptのデータが自動的に同期される「双方向データバインディング」が動作し、ユーザーの入力がリアルタイムで反映されます。
この用語をシェア
最終更新: