私はJavaScriptで簡単なゲームを作っていますが、ストーリーではプレイヤーの名前を言う必要があります。だから私がこれまでに持っているのは:
var name = Prompt("what is your name?");
console.log("story" name "story);
2行目はどうすればいいですか?または、これを行う別の方法があります。コンソールの1行に2 console.log();
を含めることはできますか?
次に、+
を使用して文字列を結合します。
console.log("story " + name + " story");
console.log
は複数の引数を取るため、次のように使用します。
console.log("story", name, "story");
nameがobject
またはarray
の場合、複数の引数を使用する方が連結よりも優れています。 object
またはarray
を文字列に連結すると、変数の内容ではなく、単にタイプを記録します。
しかし、nameが単なるプリミティブ型の場合、複数の引数は連結と同じように機能します。
別のコンソールメソッドを使用できます。
var name = Prompt("what is your name?");
console.log(`story ${name} story`);
文字列内の変数を除外する方法はいくつかあります。
方法1:
console.log("story", name, "story");
利点:名前がJSONオブジェクトの場合、"story" [object Object] "story"
として出力されません
方法2:
console.log("story " + name + " story");
方法3:上記のES6を使用する場合
console.log(`story ${name} story`);
利点:追加の必要なし、または+
方法4:
console.log('story %s story',name);
利点:文字列が読みやすくなります。
ES6を使用する場合は、次のこともできます。
var name = Prompt("what is your name?");
console.log(`story ${name} story`);
注:このようにするには、「」または「」の代わりに「」を使用する必要があります。
複数の引数をログに渡すことができます:
console.log("story", name, "story");
それはあなたが望むものに依存します。
console.log("story "+name+" story")
は 連結 文字列をまとめて出力します。私にとっては、何が起こっているかを簡単に確認できるため、これを使用します。
console.log("story",name,"story")
の使用は連結に似ていますが、次のように実行されるようです:
var text = ["story", name, "story"];
console.log(text.join(" "));
これは、スペースで区切られた配列内のすべてのアイテムを一緒にプッシュしています:.join(" ")
console.log("story" + name + "story")
とconsole.log("story", name, "story")
の両方は、以前の回答で述べたようにうまく機能します。
Jsonオブジェクトのようにオブジェクトのコンテンツを印刷しようとすると、"story" + objectVariable + "story"
を持つことで文字列に変換されるため、console.log("story", name, "story")
の習慣を付けることをお勧めします。
これには、"story" [object Object] "story"
のような出力が含まれます。
良い習慣です。
Printfスタイルのフォーマット引数を使用することもできます。少なくともChrome、Firefox/Firebug、node.jsで利用可能です。
var name = Prompt("what is your name?");
console.log("story %s story", name);
また、数値の書式設定のために%dをサポートします