console.log에 변수를 추가하려면 어떻게해야합니까?


82

JavaScript로 간단한 게임을 만들고 있지만 스토리에서는 플레이어 이름을 말해야합니다. 그래서 내가 지금까지 가지고있는 것은 :

var name = prompt("what is your name?");

console.log("story" name "story);

두 번째 줄은 어떻게합니까? 또는 내가 이것을 할 수있는 다른 방법이 있습니다. console.log();콘솔에 2 on 1 라인 이 가능 합니까?


문자열을 함께 연결하려고합니까? "두 번째 줄 수행"이란 무엇을 의미합니까?
cogsmos

^ cogsmos는, 지금, 내 질문에 대답하고있다 중요하지 않습니다
브래들리 맥이너니

알아 내 셨다니 다행입니다. JavaScript에서 +는 산술 및 두 문자열을 함께 결합하는 데 사용할 수 있습니다 (연결이라고도 함). 자세한 내용은 여기에서 확인하세요 : w3schools.com/js/js_operators.asp
cogsmos

답변:


87

그런 다음 +문자열을 결합 하는 데 사용 합니다.

console.log("story " + name + " story");

77

console.log 여러 인수를 취하므로 다음을 사용하십시오.

console.log("story", name, "story");

경우 이름 입니다 object또는를 array다음 여러 인수를 사용하여 연결보다 낫다. 당신이 연결할 경우 object또는 array문자열로 당신은 단순히 유형이 아닌 변수의 내용을 기록합니다.

그러나 이름 이 기본 유형 인 경우 여러 인수가 연결과 동일하게 작동합니다.


19
나 또한console.log('story %s story',name);
무하마드 Umer

1
사소한 일이지만 Parse의 Cloud Code와 같은 덜 일반적인 설정에있는 경우 배열을 보내거나 % s를 사용하는 것이 작동하지 않으므로 강제로 연결해야합니다.
Derek Lucas

@MuhammadUmer는 대단합니다. 저는 그것이 파이썬 일 뿐이라고 생각했습니다. Python에서는 %s먼저 변수 유형을 변경할 필요가 없기 때문에 문자열을 연결하는 가장 좋은 방법입니다. JS에서도 똑같은지 궁금합니다.
JasTonAChair

61

다른 콘솔 방법을 사용할 수 있습니다.

let name = prompt("what is your name?");
console.log(`story ${name} story`);

4
템플릿 문자열은 굉장합니다. 그러나 누군가가 ES6를 사용한다면. 예에서 "var"가 사용되었으므로 (당연히 ES6 일 수 있음) 여기에서 가정 할 수 있다고 생각하지 마십시오 ...
therebelcoder

39

문자열 내에서 변수를 통합하는 방법에는 여러 가지가 있습니다.

방법 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);

이점 : 문자열을 더 쉽게 읽을 수 있습니다.


@egemen freemarker가 그것과 무슨 관련이 있습니까? ECMAscript 2015 템플릿 리터럴입니다
Nico Van Belle

1
이것이 최고의 답변입니다.
Stephen Collins

19

ES6를 사용할 때 다음을 수행 할 수도 있습니다.

var name = prompt("what is your name?");
console.log(`story ${name} story`);

참고 : 이렇게하려면 ""또는``대신 백틱``을 사용해야합니다.


6

로그에 여러 인수를 전달할 수 있습니다.

console.log("story", name, "story");

3

2

그것은 당신이 원하는 것에 달려 있습니다.

console.log("story "+name+" story") 것입니다 연결하여 함께 문자열을하고 인쇄 할 수 있습니다. 저에게는 무슨 일이 일어나고 있는지 더 쉽게 볼 수 있기 때문에 이것을 사용합니다.

사용 console.log("story",name,"story")은 연결과 유사하지만 다음과 같이 실행되는 것 같습니다.

 var text = ["story", name, "story"];
 console.log(text.join(" "));

이것은 배열의 모든 항목을 공백으로 구분하여 함께 푸시합니다. .join(" ")


1

console.log("story" + name + "story")console.log("story", name, "story")이전 답변에서 언급 한 바와 같이 잘 작동합니다.

나는 console.log("story", name, "story")json 객체와 같은 객체 내용을 인쇄하려고 "story" + objectVariable + "story"할 때 문자열로 변환하기 때문에.

다음과 같은 출력이 나타납니다 "story" [object Object] "story".

좋은 습관입니다.


그럼 왜 ","하나를 제안하는 거죠? 그냥 [object object]를 인쇄합니다. 대부분, 우리는 frmo "+"를 얻을 문자열 버전을 원합니다. 권리?
P Satish Patro

0

printf 스타일의 형식화 인수를 사용할 수도 있습니다. 최소한 Chrome, Firefox / Firebug 및 node.js에서 사용할 수 있습니다.

var name = prompt("what is your name?");

console.log("story %s story", name);

또한 숫자 서식 지정을 위해 % d를 지원합니다.


-2

백 슬래시를 사용하여 스토리와 플레이어 이름을 한 줄에 모두 포함 할 수 있습니다.

var name = prompt ( "이름이 무엇입니까?"); console.log ( "story"\ name \ "story");

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.