javascript - 用JavaScript构建/连接字符串的最佳方法是什么?


var x = 'Hello';


var y = 'world';


console.log(x + ', ' + y);



String.concat函数。

我在找一个更整洁的。

Ruby和Swift用一种有趣的方式做到了。

ruby


var x = 'Hello'


var y = 'world'


print"#{x}, #{y}"



Swift


var x ="Hello"


var y ="world"


println("(x), (y)")



在没有第三方库的情况下,能不能做到?

时间: 原作者:

使用ES6,你可以使用

  • 模板字符串

    
    var username = 'craig';
    
    
    console.log(`hello ${username}`);
    
    
    
    

ES5和以下:

  • 使用+运算符

    
    var username = 'craig';
    
    
    var joined = 'hello ' + username;
    
    
    
    
  • 字符串的concat(..)

    
    var username = 'craig';
    
    
    var joined = 'hello '.concat(username);
    
    
    
    

或者,使用数组方法:

  • join(..)

    
    var username = 'craig';
    
    
    var joined = ['hello', username].join(' ');
    
    
    
    
  • 或者甚至用reduce(..):

    
    var a = ['hello', 'world', 'and', 'the', 'milky', 'way'];
    
    
    var b = a.reduce(function(pre, next) {
    
    
     return pre + ' ' + next;
    
    
    });
    
    
    console.log(b); // hello world and the milky way
    
    
    
    

原作者:

var descriptor = 'awesome';


console.log(`ES6 is ${descriptor}!`);



更多:https://developers.google.com/web/updates/2015/01/ES6-Template-Strings?hl=en

原作者:

例如:


var s = 'I am {0} today!';


var result = s.replace('{0}', 'hungry');


// result: 'I am hungry today!'



如果我们能稍微处理字符串部分,OP示例也可以像这样解决:


var x = 'Hello {0}';


var y = 'World';


var result = x.replace('{0}', y);


// result: 'Hello World'. -Oh the magic of computing!



原作者:

你可以使用concat函数。


var hello ="Hello";


var world ="world!";


var res = hello.concat(world);



原作者:

你可以使用Coffeescript,它使javascript代码更简洁,


first_name ="Marty"


full_name ="#{first_name} McFly"


console.log full_name



原作者:
...