在Javascript中将数字连接为字符串

Sat*_*nix 2 javascript string-concatenation

myCoolObject {
  a: 0
  b: 12
  c: 24
}
Run Code Online (Sandbox Code Playgroud)

我想连接a,bc让他们看起来像一个唯一的字符串"ABC"(或如"0-12-24").

a,b并且c将始终代表数字.将它们中的每一个从int转换为字符串需要大量代码:sprintf()如果我使用的是PHP或C,我会使用它,但是如何在不使用toString()每个参数和编写太多代码的情况下在JS中执行此操作?

整码:

var pickedDate = this.getSelectedDay().year.toString() + "-" + this.getSelectedDay().month.toString() + this.getSelectedDay().day.toString();
Run Code Online (Sandbox Code Playgroud)

真的吗?在js中没有更有效的方法吗?

rin*_*t.6 5

var myCoolString = myCoolObject.a + '-' + myCoolObject.b + '-' + myCoolObject.c;
Run Code Online (Sandbox Code Playgroud)

编辑:

使用ES6,您可以使用模板字符串将数字插入字符串:

let myCoolString = `${myCoolObject.a}-${myCoolObject.b}-${myCoolObject.c}`;
Run Code Online (Sandbox Code Playgroud)

试试吧:

var myCoolObject = {
  a: 0,
  b: 12,
  c: 24
};

var myCoolString = myCoolObject.a + '-' + myCoolObject.b + '-' + myCoolObject.c;

console.log(typeof myCoolString);
console.log(myCoolString);
Run Code Online (Sandbox Code Playgroud)

  • @Saturnix因为在它们之间连接了一个字符串.如果你只想连接它们(中间没有字符),你可以使用`var str =""+ myCoolObject.a + myCoolObject.b + myCoolObject.c;`.一旦遇到字符串,就会发生连接,而不是添加.如果需要添加,可以使用括号 (2认同)