在Dart中,Object()构造函数声明为const,因此:
identical(const Object(), const Object()); //true
Run Code Online (Sandbox Code Playgroud)
我知道在Dart 2中关键字const是可选的,并且我认为上一条语句等效于:
identical(Object(), Object()); //false
Run Code Online (Sandbox Code Playgroud)
但实际上它似乎等效于:
identical(new Object(), new Object()); //false
Run Code Online (Sandbox Code Playgroud)
现在我的疑问是:
1)const关键字何时是可选的?
2)有什么方法可以确保没有const关键字的类的实例始终保持不变?这样我可以获得:
indentical(MyClass(), MyClass()); //true (is it possible?)
Run Code Online (Sandbox Code Playgroud)