Javascript 在Dart编辑器中出现非常奇怪的警告。我能让它们失效吗?
这个小程序在Dart编辑器中生成此警告 这只是示例,但不是真正的代码。但真正的代码是相似的(而且更大)Javascript 在Dart编辑器中出现非常奇怪的警告。我能让它们失效吗?,javascript,dart,compiler-warnings,Javascript,Dart,Compiler Warnings,这个小程序在Dart编辑器中生成此警告 这只是示例,但不是真正的代码。但真正的代码是相似的(而且更大) void main(){ var如果不想编译到js,该怎么办; var so_what=如果不想编译到js,那么什么是double; } 警告:“编译为JS时,如果左侧为int,则此测试可能返回true” 附言 没问题。但是我的一个程序中有22行这样的警告(在“问题”视图中) 我能让它们失效吗 我无法避免这个考验。这是来自真实程序的代码 dynamic\u cast(值){ 如果(值为双精度
void main(){
var如果不想编译到js,该怎么办;
var so_what=如果不想编译到js,那么什么是double;
}
警告:“编译为JS时,如果左侧为int,则此测试可能返回true”
附言
没问题。但是我的一个程序中有22行这样的警告(在“问题”视图中)
我能让它们失效吗
我无法避免这个考验。这是来自真实程序的代码
dynamic\u cast(值){
如果(值为双精度){
value=value.toInt();
}
if(值为int){
如果(值>=-2147483648&&value您可以在Dart编辑器中关闭与dart2js相关的提示,方法是转到工具->首选项->提示并取消选中“启用与dart2js相关的提示”复选框
还计划允许手动抑制某些警告。您可以遵循。您可以在Dart编辑器中关闭与dart2js相关的提示,方法是转到工具->首选项->提示并取消选中“启用与dart2js相关的提示”复选框
也有计划允许手动抑制某些警告。您可以遵循。我不知道任何抑制警告的方法。但是,如果(值为num),您不能改为执行if(值为num)
吗?toInt()
也在那里可用。@MarioP此测试if(值为num)
添加不必要的开销,因为int
的计算结果为true
。因此,intValue.toInt()
并不严重。我无法理解以下几点:有了这个警告,Dart开发人员想说他们不建议使用这个测试,即使代码从未编译成Javascript?或者他们想说每个Dart代码都必须用Javascript编译?我开始使用旧代码,并对这个警告感到非常惊讶。是的,但这是一个错误性能与维护的问题我猜。不管怎么说,这是一个没有意义的问题,因为似乎有一个解决方案。但至于为什么要实施这个警告:我猜基本思路是,最好在开发时得到警告,而不是在生产后得到一个真正难以追踪的错误。毕竟,有对于这个众所周知的错误,有很多错误报告。我不知道有什么方法可以抑制警告。但是,你不能改为if(value是num)
吗?toInt()
也在那里可用。@MarioP这个测试if(value是num)
添加不必要的开销,因为int
的计算结果为true
。因此,intValue.toInt()
并不严重。我无法理解以下几点:有了这个警告,Dart开发人员想说他们不建议使用这个测试,即使代码从未编译成Javascript?或者他们想说每个Dart代码都必须用Javascript编译?我开始使用旧代码,并对这个警告感到非常惊讶。是的,但这是一个错误性能与维护的问题我猜。不管怎么说,这是一个没有意义的问题,因为似乎有一个解决方案。但至于为什么要实施这个警告:我猜基本思路是,最好在开发时得到警告,而不是在生产后得到一个真正难以追踪的错误。毕竟,有对于这个众所周知的错误,有很多错误报告。