Angularjs   发布时间:2022-04-20  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Typescript / Angular / ES6:我终于可以让`hasOwnProperty()`死于for循环吗?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我一直不喜欢在 javascript中循环对象时检查hasOwnproperty()的需要:

for ( var key in object ) {
    if ( !object.hasOwnProperty( key ) ) {
        conTinue;
    }

    // Now I can do whatever I needed to do
}

它似乎总是浪费垂直空间来遍历对象中的键,然后必须明确检查以确保这些键不是来自其他地方.我显然很熟悉为什么这在javascript中是必要的,特别是由于旧的库有时会将东西注入原型链(咳嗽原型咳嗽).

但是,据我所知,棱角分明没有这样的东西.打字稿肯定没有理由.我无法想象任何现代的JavaScript框架会.因此,在现代Angular应用程序(或任何现代JavaScript应用程序)中跳过此类检查的可能缺点是什么.我只是冒着自己的团队意外修改原型(或意外导入修改原型的库)而导致问题的风险,还是有更多我不知道的麻烦空间?如果我尝试这样做,原型链会以什么其他方式咬我?

for ( let key in object ) {
}

我自己的测试没有发现任何问题,但我可能会遗漏一些明显的东西.是的,我知道mondern js / ts中的Object.keys(object).它完成了工作,但我不认为它像for … in一样干净,如果我可以让hasOwnproperty()死掉,这就是我宁愿使用的.

解决方法

在枚举普通对象和其他您知道没有可枚举继承属性的对象时,绝对没有理由包含此检查.你是对的,没有合理的现代框架对Object.prototype这样做.

自2012年以来已宣布death of hasOwnProperty checks

本图文内容来源于网友网络收集整理提供,作为学习参使用,版权属于原作者。

大佬总结

以上是大佬教程为你收集整理的Typescript / Angular / ES6:我终于可以让`hasOwnProperty()`死于for循环吗?全部内容,希望文章能够帮你解决Typescript / Angular / ES6:我终于可以让`hasOwnProperty()`死于for循环吗?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。