Dart 中弱类型有var
, Object
以及dynamic
,本文主要探讨一下这三者的区别
var a;
a = 'ducafecat';
a = 123;
a = true;
a = {'key': 'val123'};
a = ['abc'];
var a = 'ducafecat';
a = 123;
动态任意类型,编译阶段检查类型
Object a = 'doucafecat';
a = 123;
a = [2222];
动态任意类型,编译阶段不检查类型
dynamic a = 'doucafecat';
a = 123;
a = [1111];
var
初始化确定类型后不可更改类型, Object
以及dynamic
可以更改类型Object
编译阶段检查类型, 而 dynamic
编译阶段不检查类型