2016-06-20 2 views
1

다음은 Node.js의 버그 또는 기능입니까? 그것이 기능이라면 사양을 지적하십시오. 우리는이를 호출 할 때문자열이 아닌 문자열 뒤에 Node.js의 문자열 형식이 지정되지 않았습니다.

는 :

console.log('one\ntwo', 'three\nfour'); 

우리가 얻을 것으로 예상 : 우리는 그것의 앞에 문자열이 아닌 값을 사용하는 경우

one 
two three 
four 

그러나, 다음 문자열은 더 이상 예상대로 포맷되지 않습니다 :

console.log(1, 'one\ntwo', 'three\nfour'); 

출력 :

1 'one\ntwo' 'three\nfour' 

왜 그럴까요?

@MuliYulzary에 의해 the link에서

UPDATE,이 첫 번째 매개 변수가 문자열인지 여부에 따라 서식을 설정하도록되어 있음을 나타납니다.

첫 번째 매개 변수가 문자열 일 때 Node.js는 util.format(parameters)을 사용하고 첫 번째 매개 변수가 문자열이 아니면 util.inspect을 사용합니다.

그것이 작동하는 방식입니다. 문서 console.log에서

+1

를 참조하십시오 이것 좀 보라 작동합니다. 기본적으로 다른 목적으로 console.log의 다른 변형을 실행하고 있습니다. https://developer.mozilla.org/en-US/docs/Web/API/Console/log –

+0

'console.log'에 대한 스펙은 없습니다. – Bergi

+0

물론 @Bergi도 있습니다 : https://developer.mozilla.org/en-US/docs/Web/API/Console/log –

답변

0

, 그것은 제대로

console.log(object [, object, ...]) 

Logs a debug level message. You pass one or more objects to this method, each of which are evaluated and concatenated into a space-delimited string. The first parameter you pass to console.log() may contain Format Specifiers. 

샘플 사용 here

관련 문제