要約:“文脈を無視して翻訳を語るのは無礼だ” というのはコンピュータに関する記事にも当てはまります。
この記事はFixed value とはコンピュータ用語ではないのか、どの辞書に載っているのかの議論からです:
Fixed value とはコンピュータ用語ではないのか、どの辞書に載っているのか
皆さんがこの言葉に出会った状況にあまり関心がないように感じます……“文脈を無視して翻訳を語るのは無礼だ” というのはコンピュータ関連の記事にも当てはまります。
例えば、ある記事に次のようなものが出てきた場合:
[1,2,3]
これを英語に翻訳する場合、記事がどの言語について話しているかを見る必要があります。もし Python であれば、list と呼ばれ、国内では一般的に「リスト」と訳されます;JS の場合、見た目が全く同じでも、array(配列)と呼ばなければなりません —— そして Python で本質的に JS の配列に似たものは、一般的にタプル(tuple)と呼ばれますが、見た目は異なります……
(この例はあまり良くないかもしれませんが、私が言いたいのは:皆が考える文学以外の翻訳でも、文脈が存在するということです。無視すべきではありません)
すみません、話が逸れましたが、ここでの Fixed value は、文字列、数字、ブール値、null、undefined の 5 つの基本データ型を指しているように感じます。なぜなら、JS にとってそれらはすべて不変であり、直接値を変更することはできないからです。一方、Variable values はオブジェクトと配列を指し、これらは直接変更可能です。(こう言うと少し抽象的かもしれません)
これは Python とは大きく異なります(皆さんがこの言語にもっと慣れているかもしれないことを考慮して)。この言い方を JS の特性として理解してもらえればと思います。私が今まで見た本の中で、この問題について触れているのは『JavaScript 権威ガイド』だけで、中訳本の第 3 章の冒頭部分と第 3.7 節に関連する説明があります。以下に一部を引用します:
JavaScript の型は原始型とオブジェクト型に分けられ、メソッドを持つ型と持たない型、可変(mutable)型と不変(immutable)型にも分けられます。可変型の値は変更可能です。オブジェクトと配列は可変型に属します:JavaScript プログラムはオブジェクトのプロパティ値や配列要素の値を変更できます。数字、ブール値、null、undefined は不変型に属します —— 例えば、数値の内容を変更すること自体が意味を成しません。文字列は文字で構成された配列と見なすことができますが、可変だと思うかもしれません。しかし、JavaScript では文字列は不変です:文字列の任意の位置のテキストにアクセスできますが、JavaScript は既知の文字列のテキスト内容を変更する方法を提供していません。3.7 節では可変型と不変型の違いについて詳しく説明します。
この「JavaScript では文字列は不変である」という文を見て、私は軽々と JS で「日本語非辞書形辞書 v3」を再構築できるという考えを完全に放棄しました。また、Python が文科系の学生にとって本当に適していると感心せざるを得ません…… 文字列が変更できないなんて、正規表現も役に立たないように感じます。学んで何に使うのか?(冗談です、特定の言い方を避けて、皆さんは自分の好みに従ってください)
午後ずっと頑張って、フォーラムを見たらこれを見つけて、ついこんなにたくさんの文字を打ってしまいました。