From 1f69bec78a4dd6ba4c01020567e0ef707d7e8fa3 Mon Sep 17 00:00:00 2001 From: Masahiro FUJIMOTO Date: Sun, 13 Jun 2021 02:01:11 +0900 Subject: Web/JavaScript/Reference/Errors/Missing_f*-M* を更新 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 2021/06/13 時点の英語版に同期 --- .../errors/missing_formal_parameter/index.html | 36 +++++++++---------- .../errors/missing_initializer_in_const/index.html | 36 ++++++++++--------- .../missing_name_after_dot_operator/index.html | 28 ++++++++------- .../index.html | 41 +++++++++++++++------- .../missing_parenthesis_after_condition/index.html | 30 ++++++++++------ .../missing_semicolon_before_statement/index.html | 10 +++--- .../errors/more_arguments_needed/index.html | 32 ++++++++++------- 7 files changed, 124 insertions(+), 89 deletions(-) (limited to 'files') diff --git a/files/ja/web/javascript/reference/errors/missing_formal_parameter/index.html b/files/ja/web/javascript/reference/errors/missing_formal_parameter/index.html index 438e357de8..55c7509b2b 100644 --- a/files/ja/web/javascript/reference/errors/missing_formal_parameter/index.html +++ b/files/ja/web/javascript/reference/errors/missing_formal_parameter/index.html @@ -2,32 +2,32 @@ title: 'SyntaxError: missing formal parameter' slug: Web/JavaScript/Reference/Errors/Missing_formal_parameter tags: - - Error - - Errors - - JavaScript - - SyntaxError +- Error +- Errors +- JavaScript +- SyntaxError translation_of: Web/JavaScript/Reference/Errors/Missing_formal_parameter ---
{{jsSidebar("Errors")}}
-

メッセージ

-
SyntaxError: missing formal parameter (Firefox)
+
SyntaxError: missing formal parameter (Firefox)
 
-

エラータイプ

{{jsxref("SyntaxError")}}

何がうまくいかなかったのか?

-

"Formal parameter" とは、 "関数の引数" のことです。関数宣言で、有効な引数を忘れています。関数定義において、引数は {{Glossary("Identifier", "identifiers")}} でなければならず、数字や文字列、オブジェクトのような値であってはいけません。関数の宣言と関数の呼び出しは、異なる 2 つのステップです。宣言時には引数として識別子が求められ、関数を呼び出すときだけ、関数が使用する値を提供します。

+

"Formal parameter" とは「関数の引数」のことです。関数宣言で、有効な引数を忘れています。関数定義において、引数は識別子でなければならず、数字や文字列、オブジェクトのような値であってはいけません。関数の宣言と関数の呼び出しは、異なる 2 つのステップです。宣言時には引数として識別子が求められ、関数を呼び出すときだけ、関数が使用する値を提供します。

-

{{glossary("JavaScript")}} では、識別子はアルファベット文字 (または "$" か "_") だけを含めることができ、数値から始められません。文字列はデータですが、識別子はコードの一部です。そのため、識別子と文字列は異なるものです。

+

JavaScript では、識別子はアルファベット文字 (または "$" か "_") だけを含めることができ、数値から始められません。文字列はデータですが、識別子はコードの一部です。そのため、識別子と文字列は異なるものです。

-

関数を定義するとき、関数の引数は識別子でなければなりません。引数として値を提供しているため、これらの関数宣言はすべて失敗します:

+

関数の正しい引数を提供する

+ +

関数を定義するとき、関数の引数は識別子でなければなりません。引数として値を提供しているため、これらの関数宣言はすべて失敗します。

function square(3) {
   return number * number;
@@ -45,7 +45,7 @@ function log({ obj: "value"}) {
 // SyntaxError: missing formal parameter
 
-

関数宣言では、識別子を使用しなければなりません:

+

関数宣言では、識別子を使用しなければなりません。

function square(number) {
   return number * number;
@@ -59,7 +59,7 @@ function log(arg) {
   console.log(arg)
 };
-

次に、好きな引数を渡してこれらの関数を呼び出せます:

+

次に、好きな引数を渡してこれらの関数を呼び出すことができます。

square(2); // 4
 
@@ -71,10 +71,10 @@ log({obj: "value"}); // Object { obj: "value" }
 

関連項目

diff --git a/files/ja/web/javascript/reference/errors/missing_initializer_in_const/index.html b/files/ja/web/javascript/reference/errors/missing_initializer_in_const/index.html index ca302d074a..c73c507f16 100644 --- a/files/ja/web/javascript/reference/errors/missing_initializer_in_const/index.html +++ b/files/ja/web/javascript/reference/errors/missing_initializer_in_const/index.html @@ -2,17 +2,19 @@ title: 'SyntaxError: missing = in const declaration' slug: Web/JavaScript/Reference/Errors/Missing_initializer_in_const tags: - - Error - - Errors - - JavaScript - - SyntaxError +- Error +- JavaScript +- SyntaxError translation_of: Web/JavaScript/Reference/Errors/Missing_initializer_in_const ---
{{jsSidebar("Errors")}}
-

メッセージ

+

JavaScript の例外 "missing = in const declaration" は、 const 宣言が同じ文内で値を与えられなかった場合 (const RED_FLAG; など) に発生します。値を設定する必要があります (const RED_FLAG = '#ff0')。

-
SyntaxError: missing = in const declaration (Firefox)
+

エラーメッセージ

+ +
SyntaxError: Const must be initialized (Edge)
+SyntaxError: missing = in const declaration (Firefox)
 SyntaxError: Missing initializer in const declaration (Chrome)
 
@@ -22,28 +24,28 @@ SyntaxError: Missing initializer in const declaration (Chrome)

何がうまくいかなかったのか?

-

定数は、通常の実行中にプログラムによって変更できない値です。これは、再代入で変更できず、再宣言もできません。JavaScript では、定数は const キーワードで宣言します。定数の初期化子が必要です。つまり、宣言と同じステートメントで値を指定する必要があります (後で変更できないため、これには意味があります)。

+

定数は、通常の実行中にプログラムによって変更できない値です。これは、再代入で変更できず、再宣言もできません。 JavaScript では、定数は const キーワードで宣言します。定数の初期化子が必要です。つまり、宣言と同じ文で値を指定する必要があります (後で変更できないため、これには意味があります)。

-

Examples

+

-

定数初期化子忘れ

+

定数の初期化子忘れ

-

varlet と異なり、const 宣言では値を指定する必要があります。これはエラーをスローします:

+

varlet と異なり、const 宣言では値を指定する必要があります。エラーが発生する例です。

const COLUMNS;
 // SyntaxError: missing = in const declaration
-

エラーを修正する

+

エラーの修正

このエラーを修正するには、複数の方法があります。定数で何をしようとしていたかを確認してください。

-

定数値を追加する

+

定数値を追加する

-

宣言と同じステートメントで定数の値を指定します:

+

宣言と同じ文で定数の値を指定します。

const COLUMNS = 80;
-

constletvar?

+

constletvar

定数を宣言したいわけではない場合、const を使用しないでください。ブロックスコープの変数を let で宣言したいか、グローバル変数を var で宣言したいのかもしれません。双方ともに、初期値を必要としません。

@@ -53,7 +55,7 @@ SyntaxError: Missing initializer in const declaration (Chrome)

関連項目

diff --git a/files/ja/web/javascript/reference/errors/missing_name_after_dot_operator/index.html b/files/ja/web/javascript/reference/errors/missing_name_after_dot_operator/index.html index 7ae10e46e7..225ff54369 100644 --- a/files/ja/web/javascript/reference/errors/missing_name_after_dot_operator/index.html +++ b/files/ja/web/javascript/reference/errors/missing_name_after_dot_operator/index.html @@ -2,17 +2,19 @@ title: 'SyntaxError: missing name after . operator' slug: Web/JavaScript/Reference/Errors/Missing_name_after_dot_operator tags: - - Error - - Errors - - JavaScript - - SyntaxError +- Error +- Errors +- JavaScript +- SyntaxError translation_of: Web/JavaScript/Reference/Errors/Missing_name_after_dot_operator ---
{{jsSidebar("Errors")}}
-

メッセージ

+

JavaScript の例外 "missing name after . operator" は、プロパティアクセスのためのドット演算子 (.) の使い方に問題があった場合に発生します。

-
SyntaxError: missing name after . operator
+

エラーメッセージ

+ +
SyntaxError: missing name after . operator
 

エラータイプ

@@ -21,11 +23,11 @@ translation_of: Web/JavaScript/Reference/Errors/Missing_name_after_dot_operator

何がうまくいかなかったのか?

-

メンバー演算子に対して、ドット演算子が (.) 使われました。アクセスしたいプロパティ名を指定しなければなりません。計算されたプロパティアクセスのためには、プロパティアクセスをドットを使用したものから角括弧を使用したものに変更する必要があります。それにより、式を計算できるようになります。そうではなく、連結しようとしましたか? その場合は、プラス演算子 (+) を代わりに使用してください。以下の例をご覧ください。

+

メンバー演算子に対して、ドット演算子 (.) が使われました。アクセスしたいプロパティ名を指定しなければなりません。計算されたプロパティアクセスのためには、プロパティアクセスをドットを使用したものから角括弧を使用したものに変更する必要があります。それにより、式を計算できるようになります。そうではなく、連結しようとしましたか? その場合は、プラス演算子 (+) を代わりに使用してください。以下の例をご覧ください。

-

プロパティアクセス

+

プロパティアクセス

JavaScript のメンバー演算子は、ドット (.) か角括弧 ([]) を使用しますが、両方は使いません。角括弧で計算されたプロパティアクセスができます。

@@ -39,7 +41,7 @@ obj.foo."bar"+i; // SyntaxError: missing name after . operator
-

このコードを修正するには、このようにオブジェクトにアクセスする必要があります:

+

このコードを修正するには、次のようにオブジェクトにアクセスする必要があります。

obj.foo.bar; // "baz"
 // or alternatively
@@ -49,20 +51,20 @@ obj["foo"]["bar"]; // "baz"
 obj.foo["bar" + i]; // "baz2"
 
-

プロパティアクセス vs. 連結

+

プロパティアクセスと連結

-

({{Glossary("PHP")}} のような) ほかの言語から来たなら、ドット演算子 (.) と連結演算子 (+) を混同しがちです。

+

(PHP のような) ほかの言語から来た人なら、ドット演算子 (.) と連結演算子 (+) を混同しがちです。

console.log("Hello" . "world");
 
 // SyntaxError: missing name after . operator
-

連結のためにはプラス記号を使用すべきです:

+

連結のためにはプラス記号を使用してください。

console.log("Hello" + "World");

関連項目

diff --git a/files/ja/web/javascript/reference/errors/missing_parenthesis_after_argument_list/index.html b/files/ja/web/javascript/reference/errors/missing_parenthesis_after_argument_list/index.html index fd647ac2ad..f117b096ae 100644 --- a/files/ja/web/javascript/reference/errors/missing_parenthesis_after_argument_list/index.html +++ b/files/ja/web/javascript/reference/errors/missing_parenthesis_after_argument_list/index.html @@ -2,40 +2,55 @@ title: 'SyntaxError: missing ) after argument list' slug: Web/JavaScript/Reference/Errors/Missing_parenthesis_after_argument_list tags: - - Errors - - JavaScript - - SynataxError +- Error +- Errors +- JavaScript +- SyntaxError translation_of: Web/JavaScript/Reference/Errors/Missing_parenthesis_after_argument_list ---
{{jsSidebar("Errors")}}
-

メッセージ

+

JavaScript の例外 "missing ) after argument list" は、関数の呼び出し方にエラーがあった場合に発生します。これは入力ミス、演算子の欠落、文字列のエスケープ忘れなどの可能性があります。

-
SyntaxError: missing ) after argument list
+

メッセージ

+ +
SyntaxError: Expected ')' (Edge)
+SyntaxError: missing ) after argument list (Firefox)
 
-

エラータイプ

+

エラーの種類

-

{{jsxref("SyntaxError")}}。

+

{{jsxref("SyntaxError")}}

-

何がうまくいかなかったのか?

+

エラーの原因

-

関数の呼び出し方にエラーがあります。たとえば、タイポや演算子の記述忘れ、文字列のエスケープミスの可能性が考えられます。

+

関数の呼び出し方にエラーがあります。たとえば、入力ミスや演算子の記述忘れ、文字列のエスケープ忘れの可能性が考えられます。

-

+

-

文字列を連結する "+" 演算子がないため、JavaScript は log 関数の引数として、"PI: " だけを想定します。この場合、閉じ括弧で終了する必要があります。

+

文字列を連結する "+" 演算子がないため、JavaScript は log 関数の引数として、 "PI: " だけを想定します。この場合、閉じ括弧で終了する必要があります。

console.log('PI: ' Math.PI);
 // SyntaxError: missing ) after argument list
 
-

"+" 演算子を追加することで、log の呼び出しを修正できます:

+

"+" 演算子を追加することで、log の呼び出しを修正できます。

console.log('PI: ' + Math.PI);
 // "PI: 3.141592653589793"
-

関連情報

+

終了していない文字列

+ +
console.log('"Java" + "Script" = \"' + 'Java' + 'Script\");
+// SyntaxError: missing ) after argument list
+ +

ここで、 JavaScript は ); が文字列の中にあると誤解して無視し、結局、 );console.log の末尾に入っていることを知らないままになってしまいます。これを修正するには、 ' を "Script" の文字列の後に入れます。

+ +
console.log('"Java" + "Script" = \"' + 'Java' + 'Script\"');
+// '"Java" + "Script" = "JavaScript"'
+
+ +

関連情報

  • 関数
  • diff --git a/files/ja/web/javascript/reference/errors/missing_parenthesis_after_condition/index.html b/files/ja/web/javascript/reference/errors/missing_parenthesis_after_condition/index.html index 2a8e8cc1d6..193970f65b 100644 --- a/files/ja/web/javascript/reference/errors/missing_parenthesis_after_condition/index.html +++ b/files/ja/web/javascript/reference/errors/missing_parenthesis_after_condition/index.html @@ -10,9 +10,13 @@ translation_of: Web/JavaScript/Reference/Errors/Missing_parenthesis_after_condit ---
    {{jsSidebar("Errors")}}
    -

    メッセージ

    +

    JavaScript の例外 "missing ) after condition" は、 if 文の条件の書き方にエラーがあった場合に発生します。 if キーワードの後には括弧が必要です。 +

    -
    SyntaxError: missing ) after condition
    +

    エラーメッセージ

    + +
    SyntaxError: Expected ')' (Edge)
    +SyntaxError: missing ) after condition (Firefox)
     

    エラータイプ

    @@ -21,7 +25,7 @@ translation_of: Web/JavaScript/Reference/Errors/Missing_parenthesis_after_condit

    何がうまくいかなかったのか?

    -

    if 条件の書き方にエラーがあります。いくつかのプログラミング言語では、コードは異なる入力に応じて意思決定とアクションを実行する必要があります。if ステートメントは指定した条件を満たす場合、処理を実行します。JavaScript では、この条件は if キーワードの後に括弧を付ける必要があります。次ように:

    +

    if 条件の書き方にエラーがあります。どのプログラミング言語でも、コードは様々な入力に応じて決定を行い、アクションを実行する必要があります。if 文は指定した条件を満たす場合、処理を実行します。JavaScript では次のように、この条件は if キーワードの後に括弧を付ける必要があります。

    if (condition) {
       // do something if the condition is true
    @@ -29,6 +33,8 @@ translation_of: Web/JavaScript/Reference/Errors/Missing_parenthesis_after_condit
     
     

    +

    括弧の欠落

    +

    ちょっとした見落としかもしれないので、慎重にコード内のすべての括弧をチェックしてください。

    if (3 > Math.PI {
    @@ -44,7 +50,9 @@ translation_of: Web/JavaScript/Reference/Errors/Missing_parenthesis_after_condit
       console.log("wait what?");
     }
    -

    あなたがほかの言語から来たなら、JavaScript で同じ意味を持たないキーワードや意味のないキーワードを追加してしまいがちです。

    +

    is キーワードの誤用

    + +

    他の言語から来た人ならば、 JavaScript で同じ意味を持たないキーワードや意味のないキーワードを追加してしまいがちです。

    if (done is true) {
      console.log("we are done!");
    @@ -53,7 +61,7 @@ translation_of: Web/JavaScript/Reference/Errors/Missing_parenthesis_after_condit
     // SyntaxError: missing ) after condition
     
    -

    代わりに、正しい比較演算子を使うべきです。たとえば:

    +

    代わりに、正しい比較演算子を使うべきです。例を示します。

    if (done === true) {
      console.log("we are done!");
    @@ -62,9 +70,11 @@ translation_of: Web/JavaScript/Reference/Errors/Missing_parenthesis_after_condit
     

    関連項目

    diff --git a/files/ja/web/javascript/reference/errors/missing_semicolon_before_statement/index.html b/files/ja/web/javascript/reference/errors/missing_semicolon_before_statement/index.html index f8cf3324af..e4c57479a2 100644 --- a/files/ja/web/javascript/reference/errors/missing_semicolon_before_statement/index.html +++ b/files/ja/web/javascript/reference/errors/missing_semicolon_before_statement/index.html @@ -18,13 +18,13 @@ translation_of: Web/JavaScript/Reference/Errors/Missing_semicolon_before_stateme SyntaxError: missing ; before statement (Firefox)
    -

    エラー種別

    +

    エラーの種類

    {{jsxref("SyntaxError")}}

    -

    原因

    +

    エラーの原因

    -

    どこかでセミコロン (;) を忘れています。JavaScript 文はセミコロンで終えなければなりません。一部は、自動セミコロン挿入 (ASI) の影響を受けますが、この場合に JavaScript がソースコードを正確に解釈するためには、セミコロンを置く必要があります。

    +

    どこかでセミコロン (;) を忘れています。JavaScript の文はセミコロンで終えなければなりません。一部は、自動セミコロン挿入 (ASI) の影響を受けますが、この場合に JavaScript がソースコードを正確に解釈するためには、セミコロンを置く必要があります。

    しかし、多くの場合、このエラーは、文字列の不適切なエスケープや var の誤った使用など、その他のエラーの結果として発生します。また、どこかで括弧が多すぎるかもしれません。このエラーが発生した場合は、注意深く構文をチェックしてください。

    @@ -80,6 +80,6 @@ array[0] = 'there';

    関連情報

    diff --git a/files/ja/web/javascript/reference/errors/more_arguments_needed/index.html b/files/ja/web/javascript/reference/errors/more_arguments_needed/index.html index 2a99e60894..b0a1f924c4 100644 --- a/files/ja/web/javascript/reference/errors/more_arguments_needed/index.html +++ b/files/ja/web/javascript/reference/errors/more_arguments_needed/index.html @@ -2,23 +2,27 @@ title: 'TypeError: More arguments needed' slug: Web/JavaScript/Reference/Errors/More_arguments_needed tags: - - Errors - - JavaScript - - TypeError +- Error +- Errors +- JavaScript +- TypeError translation_of: Web/JavaScript/Reference/Errors/More_arguments_needed ---
    {{jsSidebar("Errors")}}
    -

    メッセージ

    +

    JavaScript の例外 "more arguments needed" は、関数の呼び出し方にエラーがあった場合に発生します。もっと多くの引数が必要です。

    -
    TypeError: Object.create requires more than 0 arguments
    -TypeError: Object.setPrototypeOf requires more than 1 argument
    -TypeError: Object.defineProperties requires more than 0 arguments
    +

    エラーメッセージ

    + +
    TypeError: argument is not an Object and is not null (Edge)
    +TypeError: Object.create requires at least 1 argument, but only 0 were passed
    +TypeError: Object.setPrototypeOf requires at least 2 arguments, but only 0 were passed
    +TypeError: Object.defineProperties requires at least 1 argument, but only 0 were passed
     

    エラータイプ

    -

    {{jsxref("TypeError")}}。

    +

    {{jsxref("TypeError")}}

    何がうまくいかなかったのか?

    @@ -26,16 +30,18 @@ TypeError: Object.defineProperties requires more than 0 arguments

    -

    {{jsxref("Object.create()")}} メソッドは、少なくとも 1 つは引数が必要です。また、{{jsxref("Object.setPrototypeOf()")}} メソッドは少なくとも 2 つ引数が必要です:

    +

    必要な引数が足りない

    + +

    {{jsxref("Object.create()")}} メソッドは、少なくとも 1 つは引数が必要です。また、{{jsxref("Object.setPrototypeOf()")}} メソッドは少なくとも 2 つ引数が必要です。

    var obj = Object.create();
    -// TypeError: Object.create requires more than 0 arguments
    +// TypeError: Object.create requires at least 1 argument, but only 0 were passed
     
     var obj = Object.setPrototypeOf({});
    -// TypeError: Object.setPrototypeOf requires more than 1 argument
    +// TypeError: Object.setPrototypeOf requires at least 2 arguments, but only 1 were passed
     
    -

    たとえば、{{jsxref("null")}} を prototype として設定することで修正できます:

    +

    たとえば、{{jsxref("null")}} を prototype として設定することで修正できます。

    var obj = Object.create(null);
     
    @@ -44,5 +50,5 @@ var obj = Object.setPrototypeOf({}, null);

    関連項目

    -- cgit v1.2.3-54-g00ecf