我了解的大部分内容都是 Javascript。我认为“列表”是Dart中最接近数组的东西,但它们在技术上是否相同?把它们看作数组是不正确的吗?同样,地图是否被视为对象?我意识到可能存在差异,但进行比较会“错误”吗?
我了解的大部分内容都是 Javascript。我认为“列表”是Dart中最接近数组的东西,但它们在技术上是否相同?把它们看作数组是不正确的吗?同样,地图是否被视为对象?我意识到可能存在差异,但进行比较会“错误”吗?
JavaScript中的Array
对象与Dart中的可增长List
对象类似。两者都可以通过索引进行添加和访问。Dart列表仅能通过索引访问,而JavaScript列表是完整的JavaScript对象(见下文),只不过有一个神奇的length
属性,在使用整数命名属性时才会更新。在实践中,应该在原本使用JavaScript Array
的地方使用Dart List
。
JavaScript中的Object
是多个元素的组合。它们是从字符串名称到值的映射 - 这部分最好通过Dart Map<String, Object>
来模拟。它们还允许基于原型的继承,如果您正在使用此功能,则可能需要定义一个Dart类。作为数据结构,应该在原本使用JavaScript {}
对象的地方使用Dart Map
。
Dart中的一切都是对象。 一切
Object
- 一个List
、一个Map
,甚至是一个int
:
https://www.dartlang.org/guides/language/language-tour#important-concepts
List
非常接近JS数组。
Map
与JS中的Object
有些关联,但并不完全相同。Map只是将键和值存储在一起,但在Dart中你可以拥有非字符串键。在Dart中,Map没有原型或类似的概念。