私はJavaScriptで簡単なゲームを作っていますが、ストーリーではプレイヤーの名前を言う必要があります。だから私がこれまでに持っているのは:
var name = prompt("what is your name?");
console.log("story" name "story);
2行目を行うにはどうすればよいですか?または私がこれを行うことができる別の方法があります。console.log();
コンソールに2対1の行を含めることは可能ですか?
私はJavaScriptで簡単なゲームを作っていますが、ストーリーではプレイヤーの名前を言う必要があります。だから私がこれまでに持っているのは:
var name = prompt("what is your name?");
console.log("story" name "story);
2行目を行うにはどうすればよいですか?または私がこれを行うことができる別の方法があります。console.log();
コンソールに2対1の行を含めることは可能ですか?
回答:
console.log
複数の引数を取るので、次を使用してください。
console.log("story", name, "story");
名前がまたはのobject
場合、array
複数の引数を使用する方が連結よりも優れています。object
またはarray
を文字列に連結する場合は、変数の内容ではなく、単に型をログに記録します。
ただし、名前が単なるプリミティブ型の場合、複数の引数は連結と同じように機能します。
console.log('story %s story',name);
%s
では、最初に変数の型を変更する必要がないため、文字列を連結するための最良の方法です。JSでも同じかしら?
別のコンソール方法を使用できます。
let 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);
利点:文字列が読みやすくなります。
%j
Node.jsでのみ機能します。%j
値をJSON文字列に変換して挿入します。
console.log('%j new messages for', 7, 'john')
// 7 new messages for john
どちらconsole.log("story" + name + "story")
とconsole.log("story", name, "story")
それ以前の回答で述べたようにうまく動作します。
console.log("story", name, "story")
jsonオブジェクトのようにオブジェクトの内容を印刷しよう"story" + objectVariable + "story"
とすると、文字列に変換されるため、の習慣を身に付けることをお勧めします。
これは次のような出力になります:"story" [object Object] "story"
。
ちょうど良い習慣です。