2016-06-20 3 views
1

次はNode.jsのバグまたは機能ですか?それが機能の場合は、仕様を指摘してください。文字列が非文字列の後でNode.jsでフォーマットされない

私たちは、この呼び出すとき:

one 
two three 
four 

しかし、我々はそれの前に非文字列値を使用している場合、その文字列はもはや期待通りにフォーマットされています

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

を私たちは期待を取得していません:

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

出力:

1 'one\ntwo' 'three\nfour' 

なぜですか?

UPDATE @MuliYulzaryによってthe linkから

、最初のパラメータが文字列であるか否かに基づいて、フォーマットを設定することになっているように思われます。

最初のパラメータが文字列の場合、Node.jsはutil.format(parameters)を使用し、最初のパラメータが文字列でない場合はutil.inspectが使用されています。

これはどのように動作するのですか。

+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から、それは

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

関連する問題