Javascript中字符串中$ {}(美元符号和花括号)的含义是什么?

时间:2016-03-07 02:44:31

标签: javascript string variables concatenation

我在这里或在MDN上看不到任何东西。我确定我只是遗漏了一些东西。在某个地方必须有一些文件吗?

从功能上看,它似乎允许您将变量嵌套在字符串中,而无需使用+运算符进行连接。我正在寻找有关此功能的文档。

示例:

var string = 'this is a string';

console.log('Insert a string here: ${string}');

3 个答案:

答案 0 :(得分:143)

你在谈论template literals

它们允许多行字符串和字符串插值。

多行字符串:

console.log(`foo
bar`);
// foo
// bar

字符串插值:

var foo = 'bar';
console.log(`Let's meet at the ${foo}`);
// Let's meet at the bar

答案 1 :(得分:2)

如上面的评论中所述,您可以在模板字符串/文字中包含表达式。示例:

<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<?php
$xml = new DOMDocument('1.0', 'utf-8');
$xml->formatOutput = true; 
$xml->preserveWhiteSpace = false;
$xml->load('example.xml');

$xpath = new DOMXpath($xml);

$childForm = '';
foreach ( $xpath->query("//trails/trail") as $trail )   {
  $childForm .= "<form action=''>
  <span class=\"title\">".$trail->getAttribute("name")."</span> <span class=\"title\">Status</span>
  <select name=\"asstatusform\" >
  <option selected value=".$trail->getAttribute("status").">".$trail->getAttribute("status")."</option>
  <option value=\"OPEN\">OPEN</option>
  <option value=\"CLOSED\">CLOSED</option>
  <option value=\"RACING CLOSURE\">RACING CLOSURE</option>
  </select></span>
  <br>
  </form>";
}

?>

<form action="" method="POST">
    <?php echo $childForm; ?>
    <input name="submit" type="submit" value="Save" />
</form>

<?php
if (isset($_POST['submit']))
{
  $trail->setAttribute('status', $_POST['asstatusform']);
  htmlentities($xml->save('example.xml'));
}

?>

答案 2 :(得分:2)

您还可以使用模板文字执行隐式类型转换。 示例:

let fruits = ["mango","orange","pineapple","papaya"];

console.log(`My favourite fruits are ${fruits}`);
// My favourite fruits are mango,orange,pineapple,papaya