簡體   English   中英

我如何使用 p 替換 console.log?

[英]How could I use p to replace console.log?

這是我們通常在 javascript 中使用的內容

console.log('Printing strings in Javascript');
console.log('means using console.log()');
console.log('which seems very boiler platey');
console.log('How could I do something simpler');
console.log('like "p" in Ruby, i.e.');

喜歡

p('this sort of approach');
p('which seems cleaner?');
p('kinda like an alias')
p('but able to deal with multiple params of different types, functions, etc.');

一種方法:

$ cat main.js

function FirstNames(friends) {
    for (let friend of friends) {
        p(friend);
    }
    return friends;
}

let p = function (...params) { return console.log.apply(console, params); };

p("stringy");
p("stringy", "2nd");
p("stringy", 2);
p("a", [1, 2]);
p(FirstNames(['jin', 'mia']));

$ node main.js 
stringy
stringy 2nd
stringy 2
a [ 1, 2 ]
jin
mia
[ 'jin', 'mia' ]

您可以創建一個名為p的包裝函數:

const p = console.log.bind(console);

然后p(a, b, c)console.log(a, b, c)

現場示例:

 const p = console.log.bind(console); // Now this: p({nifty: "object"}, 42, "string"); // Has the same output as this: console.log({nifty: "object"}, 42, "string");

查看真實的控制台,看看它以相同的方式處理它們(交互式對象資源管理器等)。

創建一個名為 p 的Function並像這樣使用它。

function p() {
    console.log(...arguments);
}

p("hi", "bye");

另一種非常簡單的方法是使用

const p = console.log

請注意缺少parens - 沒有() - 這讓我一開始(我最初有它們)沒有它們我認為某種super可能正在傳遞參數。 這似乎有效並產生相同的結果。 它簡短而簡單。 有什么缺點嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM