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

JavaScript SyntaxError:引数リストの後に)がありません解決策

JavaScriptは、関数呼び出しの開始位置と終了位置を知るために括弧に依存しています。関数を閉じる前に構文の一部を見逃すと、「引数リストの後に構文エラー:欠落)」エラーが発生します。

このガイドでは、このエラーの意味と、エラーが発生する理由について説明します。この問題の例を見ていき、問題を解決するために知っておくべきことを学ぶことができます。

SyntaxError:引数リストの後に)がありません

「引数リストの後に)がありません」というメッセージは、関数呼び出し内に構文エラーがあることを示しています。

これは、引数のリストの最後にコンマを追加し、その後に別の引数が続かない場合に発生する可能性があります。

JavaScriptは、各コンマの後に別の引数を想定しています。 JavaScriptが別の引数を見つけられない場合、コードを正常に解析できず、閉じ括弧によって構文エラーが発生します。

このソリューションのもう1つの考えられる原因は、関数内の引数を文字列内で区切るために必要なコンマを囲むことです。

このエラーが発生した場合は、JavaScriptエラーが指すコード内のすべての構文を注意深く読んでください。すべての角かっこが一致し、関数呼び出し内でコンマが正しく使用されていることを確認してください。

シナリオ例

生徒が学校でのテストに合格したか失敗したかを計算するプログラムを作成します。まず、生徒が獲得した成績と、生徒が合格したか失敗したかを通知するメッセージをコンソールに出力することを定義しましょう。

参加者の81%は、ブートキャンプに参加した後、自分たちの技術的な仕事の見通しについてより自信を持っていると述べました。今日のブートキャンプにマッチしましょう。

平均的なブートキャンプの卒業生は、ブートキャンプの開始から最初の仕事を見つけるまで、キャリアの移行に6か月も費やしませんでした。

var grade = 57;
var message = "This student has X their test.";

JavaScript変数「message」にはプレースホルダー文字Xが含まれています。これは、プログラムの後半で「passed」または「failed」に置き換えられます。

生徒の成績が53を超える場合、その生徒はテストに合格しています。そうでなければ、彼らは失敗しました。

生徒の成績を定義したので、テストに合格したか失敗したかを計算できます。そのために、ifステートメントを使用します。

if (grade > 53) {
	message.replace("X," "passed");
} else {
	message.replace("X", "failed");
}

1つのifステートメントと1つのelseステートメントを使用して、学生が合格したか失敗したかを評価します。 ifの場合 ステートメントがtrueと評価されると、「message」文字列の「X」の値が「passed」になります。それ以外の場合、「X」の値は「失敗」になります。

学生がテストに合格したか失敗したかを通知するメッセージを作成したので、そのメッセージをJavaScriptコンソールに出力できます。

console.log(message);

コードを実行して、何が起こるか見てみましょう。

Uncaught SyntaxError: missing ) after argument list

コードは構文エラーを返します。

ソリューション

関数呼び出しの1つでミスがあったため、JavaScriptはコードを評価できません。引数リストは関数呼び出しに存在するため、これはわかっています。

関数呼び出しを見てみましょう。

message.replace("X," "passed");
message.replace("X", "failed");

2番目のステートメントは構文的に正しいように見えますが、最初のステートメントにはエラーが含まれています。最初の文字列の後にではなく、最初の文字列の中にコンマを追加しました。最初のreplace()の「X」ステートメントに注意してください。 電話。

これにより、引数リストに2つの値が次々に表示されます。これは正しくない構文です。引数はコンマで区切る必要があります。

このエラーを修正するために、カンマを「X」文字列の内側から文字列の外側に移動します。

message.replace("X", "passed");

文字列の外にカンマを移動しました。コードを実行して、機能するかどうかを確認しましょう。

私たちのコードは次を返します:

"This student has passed their test."

コードは正常に実行されました!

結論

関数呼び出しを正しく評価できない場合、「SyntaxError:引数リストの後に)エラーが発生します。このエラーを修正するには、引数が正しくフォーマットされていることを確認してください。関数呼び出しのすべての引数がコンマで区切られていることを再確認してください。

これで、専門家のようにこの構文エラーを修正するために必要な知識が得られました!


  1. Javascriptを使用してリンクリストを作成する

    ヘッドをnullに初期化するコンストラクターを使用して単純なクラスを定義することから始めましょう。また、LinkedListクラスのプロトタイプに、リンクリスト内の各ノードを表す別の構造を定義します。 例 class LinkedList {    constructor() {       this.head = null;       this.length = 0;     } } LinkedList.prototype.Node = class {    const

  2. Javascriptの循環としての二重リンクリスト

    二重リンクリストでは、最後のノードの次のポインタが最初のノードを指し、最初のノードの前のポインタが最後のノードを指し、両方向に循環します。 循環リンクリストでの挿入と削除は、他のリンクリストと同じです。リンクリストの両端で操作を実行している間は、最後のリンクを追跡する必要があります。 循環リンクリストアルゴリズムをガイドとして使用して、循環リンクリストを検索して実装してみることができます。