JavaScript: 式とステートメントの違い [翻訳]_javascript スキル
1. ステートメントと式
JavaScript の式とステートメントには違いがあり、式は値を生成するため、関数呼び出しパラメーターなど、値が必要な場所に配置できます。以下のコード行は式です:
myvar3 xmyfunc("a", "b") ステートメントは、ループ ステートメントと典型的なステートメントとして理解できます。 JavaScript でステートメントが必要な場合は常に、そのようなステートメントを式ステートメントと呼びます。ただし、その逆は当てはまりません。式が必要な場所で式を使用することはできません。たとえば、if ステートメントは関数のパラメータとして使用できません。
2. 他の構文を理解した後、次の 2 つの構文を見てください。ステートメントと式の関係をより深く理解するのに役立ちます。
2.1 If ステートメントと条件演算子
次に、if ステートメントの例を示します。
x = y;
} else {
x = -y;
}
var x = (y >= 0 ? y : -y);
等号 = とセミコロンの間のコードは条件式です。両側の括弧 必須ではありませんが、括弧を使用すると条件式が読みやすくなると思います。
2.2 セミコロンとカンマ演算子
JavaScript では、セミコロンを使用して 2 つのステートメントを接続します。
foo (); bar() 2 つの式を接続するには、一般的ではないカンマ演算子が使用されます:
foo(), bar() カンマ演算子は の前後の 2 つの式を評価し、次の計算結果を返します。例:
> var x = ("a", "b"); >
> console.log(("a", "b"));
のような式
3.1 オブジェクト リテラルとステートメント ブロック
次に示すのは、オブジェクト値の式を生成できる式であるオブジェクト リテラルです。 >
コードをコピー
コードは次のとおりです:
{
コードをコピー
コードは次のとおりです:
function test(printTwo) {
印刷: {
console.log("One");
3
3.2 関数式と関数宣言
次のコードは関数式です:
function () { } この関数式に名前を付けて変換することもできます。 ) 関数式:
function foo() { }この関数の関数名 (foo) は関数内にのみ存在します。たとえば、これを使用して再帰操作を行うことができます:
コードをコピーします
コードは次のとおりです。
> var fac = function me(x) { return x <= 1 ? 1 : x * me(x-1) }
> fac(10)
3628800
> console.log(me)
参照エラー: me が定義されていません
表面的には、名前付き関数式は関数宣言と変わりません。しかし、その効果は異なります。関数式は値 (関数) を生成します。アクションを実行します。関数を代入します。また、すぐに呼び出すことができるのは関数式のみであり、関数宣言は実行できません。
3.1 と 3.2 からわかるように、一部の式には式とステートメントの間に明らかな違いはありません。これは、同じコードが式コンテキストに現れる場合とステートメント コンテキストに現れる場合に異なる効果があることを意味します。ただし、それが式ステートメントの場合は重複します。つまり、この曖昧さを解決するために、JavaScript 構文では式ステートメントを中括弧で囲むことや、キーワード「関数」が
では、これらのフラグで始まる式ステートメントを記述したい場合はどうすればよいでしょうか。これは内部的には演算の結果を変更しません。式が式のコンテキストで解析されることを確認するだけです。最初の例を見てみましょう。eval はステートメントのコンテキストに従ってパラメータを解析します。eval がオブジェクトを返したい場合は、オブジェクト リテラルを括弧で囲む必要があります。 .
{ foo: 123 }
2 番目の例: 次の例はすぐに実行される関数式
括弧を省略すると、構文エラーが発生します (関数宣言を匿名にすることはできません):
関数名を追加すると、構文エラーも発生します (関数ステートメントを理解および実行できません):
式コンテキストで式を解析するもう 1 つの方法は、 or! などの単項演算子を使用することです。ただし、括弧を使用する場合とは異なり、これらの演算子は結果を変更します。式の結果を気にしない場合は、次を使用できます。
コードをコピー
は、関数実行後の戻り値は未定義です。
翻訳者注: 訳が分かりにくいと思ったので、レベルの低い図を描きました。
原文。 (英語):
http://www.2ality.com/2012/09/expressions-vs-statements.html

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Web アプリケーションの開発に伴い、PHP 言語は Web 開発で広く使用されています。 PHP8.0 バージョンでは、新しい言語機能である multi-catch ステートメントが導入されました。マルチキャッチステートメントとは何ですか?以前の PHP バージョンでは、開発者は複数の例外タイプを処理するために複数の catch ステートメントを作成する必要がありました。たとえば、次のコード ブロックは 2 つの異なる例外の処理を示しています。

Python は高レベルのプログラミング言語であり、学習と使用が簡単です。 Python プログラムを作成する必要があると、必然的に構文エラーに遭遇することになります。式の構文エラーはよくあるエラーです。この記事では、Python で式の構文エラーを解決する方法について説明します。式の構文エラーは Python で最も一般的なエラーの 1 つであり、通常は構文の間違った使用法や必要なコンポーネントの欠落によって発生します。 Python では、式は通常、数値、文字列、変数、演算子で構成されます。ごくありふれた

MySQLにデータを挿入するステートメントを実装するにはどうすればよいですか? MySQL データベースを使用する場合、データの挿入は非常に基本的で一般的な操作です。データを挿入することにより、新しいレコードをデータベース テーブルに追加して、業務運営をサポートできます。この記事では、MySQL で INSERT ステートメントを使用してデータ挿入操作を実装する方法を紹介し、具体的なコード例を示します。 MySQL の INSERT ステートメントは、データベース テーブルに新しいレコードを挿入するために使用されます。基本的な構文形式は次のとおりです。 INSERTINTOt

C または C++ では、カンマ「,」はさまざまな用途に使用されます。ここではそれらの使用方法を学びます。演算子としてのカンマ。カンマ演算子は、最初のオペランドを評価して結果を破棄し、次に 2 番目のオペランドを評価して値を返す二項演算子です。カンマ演算子は、C または C++ では優先順位が最も低くなります。例 #include<stdio.h>intmain(){ intx=(50,60); inty=(func1(),func2());} ここでは、x に 60 が代入されます。次のステートメントでは、 func1( が最初に実行されます

Pythonをゼロから学ぶには、まずフロー制御文の種類を理解しましょう! Python は、データ分析、人工知能、ネットワーク開発、およびさまざまな科学計算分野で広く使用されているシンプルかつ強力なプログラミング言語です。初心者にとって、基本的なフロー制御文を習得することは、論理的な判断を実現し、プログラムの実行フローを制御するための基礎となるため、非常に重要です。 Python には、順次構造、条件構造、ループ構造という 3 つの主なタイプのフロー制御ステートメントがあります。以下では、これら 3 つのプロセス制御ステートメントを詳細に紹介し、対応するステートメントを示します。

Python は広く使用されている高級プログラミング言語で、学習が簡単で効率的かつ柔軟で、開発者に深く愛されています。 Python では、フロー制御ステートメントはプログラム ロジックの実装の重要な部分です。この記事では、Python でよく使用されるフロー制御ステートメントを紹介し、理解を深めるためのコード例を示します。 Python では、一般的なフロー制御ステートメントには条件ステートメントとループ ステートメントが含まれます。条件付きステートメントは、真または偽の条件に基づいてさまざまなコード ブロックを実行し、実行ブランチを決定および選択するために使用されます。ループステートメントは繰り返しに使用されます

C# で try ステートメントを使用するには、特定のコード例が必要です。C# はオブジェクト指向プログラミング言語であり、try ステートメントは例外をキャプチャして処理するために使用される構造です。 try ステートメントを使用すると、発生する可能性のある例外を処理するコードを作成できるため、プログラムの安定性と信頼性が向上します。この記事では、C# での try ステートメントの使用法を紹介し、読者の理解を助けるためにいくつかの具体的なコード例を示します。 C# では、try ステートメントは try ブロック、catch ブロック、optionalfina で構成されます。

C 言語での指数関数式の書き方とコード例の紹介 指数関数とは? 指数関数は数学でよく使われる関数で、f(x)=a^x の形式で表現できます。 a は底、x は指数です。指数関数は主に、指数関数的な増加または指数関数的な減衰を説明するために使用されます。指数関数のコード例 C 言語では、数学ライブラリの pow() 関数を使用して指数関数を計算できます。
