implementation of angular.isBoolean?
implementation of angular.isBoolean?
我正在审查一些源代码,下划线/lodash仅用于_.isBoolean
函数。下划线来源在下面:
_.isBoolean = function(obj) {
return obj === true || obj === false || toString.call(obj) == '[object Boolean]';
};
查看ng中的功能组件,我看到类似的功能(angular.isObject
, angular.isString
, angular.isNumber
等),但没有angular.isBoolean
功能。
angular.js源代码中有一个内部函数(见下文),但是一个请求public (feat: register isBoolean作为全局angular #5185的公共成员)的问题被关闭了,说"其他库如underscore和lodash很好地解决了这些问题"。
function isBoolean(value) {
return typeof value === 'boolean';
}
:
- 我最初的反应是复制
isBoolean
并在我的代码中创建一个命名函数,但哪个实现更正确? - 我是否使用下划线版本以预期与未来升级的兼容性?
- 我认为这是一个坏主意,"鸭击"我的实现到
angular.isBoolean
?
我正在审查一些源代码,下划线/lodash只是为_。isBoolean函数。我最初的反应是将isBoolean转换为一个局部函数
是的,好主意(如果你强调只是)。甚至可能不是一个函数,而是简单地内联它。
但哪个实现更正确?
当传入的对象是Boolean
类的实例时,它们的行为不同。这种情况会发生在你正在评论的应用程序中吗?可能不会。如果它们存在,只有您知道是否要将它们视为布尔值。
除此之外,val === true || val === false
具有与typeof val == "boolean"
相同的效果。
我认为将我的实现"duck punch"到
angular.isBoolean
中是一个坏主意?
angular不太可能这样做,所以你几乎不会引起碰撞。不过,问问你自己:它在那里真的有用吗?其他代码会使用它吗?要了解更多内容,请查看不要修改不属于您的对象
相关文章:
- Angular JS IE9 Hashbang url rewriting
- 如何使用skip参数使用angular ui引导进行服务器端分页
- 在自定义mean.io包中使用angular-chart.js作为依赖项
- 无法在数据endVal中设置值=“”;{{ucount}}”;使用Angular JS的CountUp
- 使用angular重定向到html页面
- angular.js没有'无法在PhoneGap中处理视图标记
- Javascript(Angular)从一个对象数组到第二个数组查找值
- angular 1.5应用程序中的导航栏
- angular的下拉菜单
- Angular只从数组中获取所需的数据
- 如何将不可变的js导入angular 2(alpha)
- Angular js-返回一个包含类似
- 如何使用 Angular JS 将数据保存在数据库中
- 将JSON对象传递给angular指令
- 从HTTPGET返回一个自定义对象列表,以便在Angular 2应用程序中使用
- Angular:更新一次性绑定的数据
- 同步调用,直到用户通过angular验证为访问者
- 将Angular js与taglib结合使用
- 在Angular Fullstack中设置TinyMCE
- implementation of angular.isBoolean?