JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

JavaScriptの「式」とは?単一の値を返す仕組みをわかりやすく解説

JavaScriptにおける「式(expression)」とは何か。そして、言葉の使い方ひとつでシンプルな概念が難しく感じられてしまう理由について解説します。

JavaScriptにおいて、式(expression)とは、値という答えが返ってくる「質問」のようなものです。しかも、その答えは必ず単一の値になります。

次のコードは式の一例です。

console.log(5 + 5) 
// 結果: 10 

上記のコードでは何が起きているのでしょうか。

あなたはJavaScriptにこう尋ねています。「5 + 5はいくつ?」

するとJavaScriptはこう答えます。「5 + 5は10と評価されます」

つまり式とは、入力に対してその結果、あるいは評価結果(どちらも同じことを意味する、言い方の違いだけです)を得るための手段なのです。この例でいう入力は「5 + 5」でした。

続いて、JavaScriptのtypeof演算子を使った別の式の例を見てみましょう。

console.log(typeof([]))
// 結果: object

このコードでは、[](角括弧)の型は何?」とJavaScriptに尋ねています。

そしてJavaScriptは「object」と答えてくれるのです。

これこそがJavaScriptにおける式の本質です。問いを立てれば、単一の値という形で答えが返ってくる。それだけの話です。

意外だったでしょうか。「expression」という用語をもっと複雑なものだと想像していた方はいませんか?

もしそう感じたなら、あなただけではありません。辞書で「expression(表現・表情)」を引いてみると、次のような定義が出てきます。

  1. 自分の考えや感情を伝える行為。
  2. 特定の感情を表す人の顔の表情。

いかがでしょうか。この2つの定義には、先ほどのコード例につながる要素が何ひとつありませんよね。

しかし、「expression」が数学でどのように使われているかに目を向ければ、少しは馴染みやすくなるかもしれません。ただし、私のように母国語が英語ではない人の場合、プログラミングの文脈で初めて「式」という言葉を耳にしたときに、数学のことを思い浮かべる可能性はかなり低いのが実情です。

まとめ:用語の文脈理解が学習成功のカギ

言葉と文脈(この場合はプログラミング)をうまく結びつけられないと、記憶への定着が難しくなります。すると心理的な壁が生まれ、単純な概念でさえ頭に入りにくくなってしまうのです。

だからこそ私は常々こう言っています。技術用語の文脈における意味を学ぶことは、コーディング学習の半分を占める重要なステップだと。

幸い、解決策はシンプルです。ひたすら繰り返し、定着させるだけです。最終的には、プログラミングの文脈で「式」という言葉に出会ったとき、自然とプログラミングと結びつけて考えられるようになります。ちょうど、プログラミング以外の場面では「主張」「発表」「表情」といった意味と結びつけるように。

  1. JavaScriptのDateオブジェクトとは?作成方法と基本の使い方を解説

    Dateオブジェクトは、JavaScript言語に組み込まれているデータ型のひとつです。このオブジェクトを利用すると、日付や時刻の取得・操作を簡単に行うことができます。Dateオブジェクトは、new Date() コンストラクタを使って生成します。引数の渡し方によって、さまざまな形式で日付を作成できるのが特徴です。Dateオブジェクトの作成方法new Date() new Date(milliseconds) new Date(datestring) new Date(year, month, date[, hour, minute, second, millisecond])new Date

  2. C#のラムダ式とは?基本構文から使い方まで徹底解説

    ラムダ式とはラムダ式(Lambda Expression)は、匿名メソッドをより簡潔に記述するための手法です。匿名メソッドとラムダ式はどちらもメソッドの実装をインラインで定義できますが、匿名メソッドではパラメータの型や戻り値の型を明示的に指定する必要があります。一方、ラムダ式では型推論によってこれらを省略できるため、コードを大幅に読みやすく、簡潔にできます。ラムダ式の2つの形式ラムダ式には、本体の構成によって次の2つの形式があります。式形式のラムダ(Expression Lambda):本体が単一の式で構成される(入力パラメータ) => 式ステートメント形式のラムダ(Statement