如果变量是字符串,则包括双引号输出

时间:2019-02-26 21:54:42

标签: javascript node.js

如果变量是字符串,是否可以自动包含双引号?

例如:

const test = "100";

如果test是字符串,则输出(例如:console.log):"100"

我希望console.log(test)成为"100"而不是100

5 个答案:

答案 0 :(得分:1)

您可以测试该值并将其字符串化,然后为该函数分配一个猴子补丁。

console.log = (log => (...args) => {
    log(...args.map(v => typeof v === 'string' ? JSON.stringify(v) : v));
})(console.log);

console.log('test', 42);

答案 1 :(得分:0)

使用转义符\来双引号。例如,

const test = "\"100\"";

现在,console.log(test)将显示“ 100”而不是100。

希望对您有帮助!

答案 2 :(得分:0)

typeof与模板文字一起使用:

const test = "100";

if (typeof test == "string") {
  console.log(`"${test}"`);
} 

答案 3 :(得分:0)

您可以使用template literals包含引用。当然,您需要首先检查它是否为string

const someString = "100";
const someNumber = 100;

const includeQuotesIfString = x => typeof x === 'string' ? `"${x}"` : x;

console.log('before_string', someString);
console.log('after string', includeQuotesIfString(someString));
console.log('before number', someNumber);
console.log('after number', includeQuotesIfString(someNumber));

答案 4 :(得分:0)

为此,您还可以使用string substitutions

const test = "100";

console.log('%o', test);
console.log('%o', 1);