【发布时间】:2019-06-29 22:54:51
【问题描述】:
我刚开始学习 Dart。
在 Dart 之前,我使用过 Javascript,并且有一些经验。
现在,我正在浏览documentation from Tutorial Point。他们提到过这样的事情
dart 中的所有变量都存储对值的引用,而不是 包含值。名为 name 的变量包含对 一个值为“Smith”的字符串对象。
在 Javascript 中,我猜数组和对象是引用类型。
意思是,如果我们做这样的事情
[更新:]这段代码sn-p不正确
let a = ["Apple", "orange"]
let b = a
a = ["Bananna"]
console.log(b) //["Bananna"]
但这可能只适用于 JS 中的对象和数组(而不适用于 const 和 let)
let a = 5
let b = a
a = 7
console.log(b) //5
从报价,
dart 中的所有变量都存储对值的引用
[问题:] 这是否意味着即使是 int、string.. 以及我们在 Dart 中创建的每个变量都是引用?并且上述代码的等价性将在 Dart 中打印 7 或者我出错了(通常)?
let a = 5
let b = a
a = 7
console.log(b) //7
【问题讨论】:
-
您使用
["Apple", "orange"]然后重新分配给["Banana"]的示例不是 javascript 的行为方式。在这种情况下,["Apple", "Orange"]将被记录到控制台。
标签: javascript dart