JavaScript中插值和串联的区别是什么?

3
我使用的语言和库是JS和AngularJS。我是否正确地认为,“插值”和“连接”都表示“字符串和变量的组合”?
但是,“插值”是在AngularJS中使用双重花括号时使用的。而“连接”是在纯JS中使用的?
还是我错过了其他的区别?
编辑: 这是插值还是连接(我不仅仅将字符串放在一起,而是解析了一个变量)?
    var test1 = "Hello";
    var number = 2 + 3;
    console.log(test1 + " " + number);

嗯……我想每当我使用AngularJS库来组合一些表达式时,那就是插值,对吧?

我认为这是连接操作。 - Kim Honoridez
拼接是每种编程语言的通用术语,而在AngularJS中,插值是通过{{}}和$interpolation服务完成的。 - squiroid
3个回答

5
在AngularJS中,插值(interpolation)有助于在视图上呈现模型。而字符串连接(concatenation)是允许使用'+'将字符串连接在一起的,它可能包含插值,也可能不包含。
例如: {{}} --> 插值(interpolation) 它允许你的模型绑定在视图中:
Model:-  $scope.name="rachit";

   View:-  <div>{{name}}</div>

   result in View after rendering :- <div>rachit</div>

'+'-->连接符

它允许在视图或控制器中拼接值,甚至可以在插值中使用。

Controller:-
$scope.name="rachit"+"gulati";

View
<div>{{name+name}}</div> //Here interpolation also comes into picture.
result:-"<div>rachitgualtirachitgualti</div>"

更新1:-

EDIT: Is this interpolation or concatenation (I don't just put strings together but an a variable is resolved here)?

var test1 = "Hello";
var number = 2 + 3;
console.log(test1 + " " + number);

这是JavaScript中的简单字符串连接,与Angular无关。

更新2:

嗯...我猜每当我使用AngularJS库来组合一些表达式时,那就是插值,对吧?

在所有编程语言中,字符串连接都是将两个字符串拼接在一起的通用术语。而在AngularJS中,使用$interpolation服务和{{}}进行插值。


3

插值

插值意味着您想要从Angular作用域中获取代码,并在HTML页面上显示它,就像我们有{{somevariable}}。在这个例子中,它将使用$interpolate服务评估angular scope中的函数。

串联

当您想要绑定两个字符串时,可以在插值{{}}指令内部执行它,例如{{someVariable + ' test'}},它将连接变量与test,结果将是someVariable test


0

插值基本上意味着表达式得到解析,而连接是将字符串组合在一起。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接