用JavaScript封装一个c的 print 方法

403 阅读1分钟

封装一个类似c/ java中的 print 方法

function print(message='', ...theArgs) {
  let index = 0;
  console.log(
    message.replace(/%s/g, function () {
      return theArgs[index++];
    })
  )
}

print(" 1 + 1 = %s ", 1+1); // 1 + 1 = 2

上面的 ...theArgs 是 [剩余参数语法](developer.mozilla.org/zh- CN/docs/Web/JavaScript/Reference/Functions/Rest_parameters)

用babel转化成es5

babel_args_transfer.png..png

react源码打印方法就是上面这样原理