在我们目前的项目中,我们开始使用angularjs 我们面临选择使用==而不是===到处或者专门将查询参数解析为各自正确的类型。
假设的例子:
//someurl.com/search?filter=astring&sortColumn=2
$scope.filter = $location.search().filter;
$scope.sortColumn = $location.search().sortColumn;
if($scope.sortColumn === 2){
doStuff();
}
因为sortColumn作为字符串来自查询字符串,所以严格等式失败 我认为它归结为要么使用非严格的等式,要么解析字符串到整数。 目前我们有一个stringToInt(),它使用parseInt()对null和undefined进行一些额外的检查,但这感觉就像我们正试图在js中写C#给我。
我们可以以某种方式从搜索()中获取内容吗? 或者我们应该在方程中切换到非严格? 还是有其他方式我们没有想到?