Dart中是否有数组和对象?

5

我了解的大部分内容都是 Javascript。我认为“列表”是Dart中最接近数组的东西,但它们在技术上是否相同?把它们看作数组是不正确的吗?同样,地图是否被视为对象?我意识到可能存在差异,但进行比较会“错误”吗?

5个回答

7

JavaScript中的Array对象与Dart中的可增长List对象类似。两者都可以通过索引进行添加和访问。Dart列表仅能通过索引访问,而JavaScript列表是完整的JavaScript对象(见下文),只不过有一个神奇的length属性,在使用整数命名属性时才会更新。在实践中,应该在原本使用JavaScript Array的地方使用Dart List

JavaScript中的Object是多个元素的组合。它们是从字符串名称到值的映射 - 这部分最好通过Dart Map<String, Object>来模拟。它们还允许基于原型的继承,如果您正在使用此功能,则可能需要定义一个Dart类。作为数据结构,应该在原本使用JavaScript {}对象的地方使用Dart Map


2

Dart中的一切都是对象。 一切


2
不是所有的东西都是对象。例如main()函数,它是一个函数而不是一个对象。Dart不是一种纯面向对象的语言。 - Sisir

1

1
Dart有列表(Lists),它们是有序对象的序列。虽然没有名为Array的类或接口,但List和其他编程语言中遇到的数组非常相似。
在Dart中,一切皆为对象。

0

List非常接近JS数组。

Map与JS中的Object有些关联,但并不完全相同。Map只是将键和值存储在一起,但在Dart中你可以拥有非字符串键。在Dart中,Map没有原型或类似的概念。


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