[英]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.