30064


様々な技術系の記事やドキュメントで「コンテキスト」という言葉がでてきますが、何を指しているのかよく分かりません。
「コンテキスト」という言葉自体は調べたのですが、利用されている状況によって意味が異なるため、結局何を指しているのか理解ができないです。

例えば、以下の記事やドキュメントの「コンテキスト」が何を指しているのかが分からないです。

  * <https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/this>   
「Global context」  
「Function context」

  * <https://jp.vuejs.org/api/>   
「this コンテキストを持ちます。」

上記の「コンテキスト」が何を指しているか教えていただけますか。  
また、「コンテキスト」を別の言葉で言い換えることはできますか?

そもそも「コンテキスト」という言葉自体が曖昧(だと思ってる)なため、  
回答しづらい質問で申し訳ありませんが、よろしくお願いいたします。

* * *

今回の質問は人によって回答が異なるものだと想定しています。そのため、できる限り多くの方々の意見・回答を見るために、以下のサイトにも同様の質問を投稿しています。

<https://teratail.com/questions/53738>

結果として4人の方から回答をいただくことができました。どの回答も非常にためになり、イメージを掴むことができたため解決にしました。


CC BY-SA 3.0
2016-11-02T10:14:05.403
30060
2017-05-11T07:39:23.840
2017-05-11T07:39:23.840
8000
19407
question
javascript 専門用語
「コンテキスト」という言葉が何を指しているのかよく分からない


まずは英単語のcontextを理解するといいでしょう。

[contextの意味](http://ejje.weblio.jp/content/context)

> (文章の)前後関係、文脈、脈絡、コンテキスト、状況、環境

[コンテクスト](https://ja.wikipedia.org/wiki/%E3%82%B3%E3%83%B3%E3%83%86%E3%82%AF%E3%82%B9%E3%83%88)

>
> コンテクスト（Context）あるいはコンテキストとは、文脈や背景となる分野によってさまざまな用例がある言葉であるが、一般的に「文脈」と訳されることが多い。文脈により「脈絡」、「状況」、「前後関係」、「背景」などとも訳される。

多少強引ですが「文脈」と訳しても大よその理解はできるのではないでしょうか？

Global Context → グローバルな文脈（この場合はグローバルな位置、関数の外のコード）  
Function Context → 関数の文脈（この場合は関数の中のコード）


CC BY-SA 3.0
2016-11-02T12:43:33.517
30063
2016-11-02T12:43:33.517
4236
30060
answer


家族同士でお互いの名前を呼ぶ場合、名字を使う事はまずありません。  
それは名字が家族にとって自明であり、これをコンテキストとしているからです。

Windowsでファイルを右クリックしてコンテキストメニューを表示し、「開く」メニューをクリックする時は通常「(ファイル名)を開く」とは書いていません。単に「開く」と書かれているだけです。  
そのファイルを右クリックしているため、開く目的のファイル名は自明であり、これをコンテキストとしているからです。

`Global context`とは、`this`がグローバルオブジェクトとなっているコード上の位置を示しています。  
グローバルに定義された`myFunc`はグローバルコンテキストにおいてそれがグローバルである事を明示せずに`myFunc()`と呼び出すことができます。

対照的に`Function context`では、`this`がその関数の呼び出し元のオブジェクトを指すコードの位置を示しています。

ですので:

コンテキスト = 背景となる情報  
〜コンテキストを持つ = 〜という背景が定義されている

あたりが妥当なんではないかと思います。


CC BY-SA 3.0
2016-11-02T12:47:18.883
30064
2016-11-02T12:47:18.883
62
30060
answer