JavaScript的类型系统是一坨屎吗?

原回答来自某乎,非转载JavaScript的类型系统是一坨屎吗?

我觉得更贴切的说是水,Brendan Eich这种级别的人难道不知道什么是强类型吗,不至于。只是为了更加灵活,从而释放程序猿的野性。就像李小龙当年的经典说辞:

A good martial artist is like water. Why? Because water is insubstantial. By that, you can't grab it, you can't punch and hurt it , so be soft like water and flexible. Empty your mind. Be formless,shapeless like water. You put water in a cup, it becomes the cup.You put water in a bottle, it becomes the bottle. You put water in a teapot , it becomes the teapot. Water can flow or crash. Be water, my friends!

(一个好的武术家就像水一样。为什么?因为水是无形的。因此,你抓不住它,也无法用拳头击伤它,所以像水一样柔软灵活吧。清空你的思想。无形无式,如水一般。将水倒入杯中,它变成杯的形状。将水倒入瓶中,它变成瓶的形状。将水倒入茶壶中,它变成茶壶的形状。水可静静流淌,亦可猛烈冲击。像水一样吧,我的朋友!)

武功秘笈你照着上面的打拳踢脚来练不一定能练好,你得去悟,悟到精髓,才能真正掌握这门武功。

题主发的这一对类型转化,看似杂乱,实则看着很行云流水,玩到一定程度的js开发者,做到“悟”了自然得心应手,那本如来神掌对一些人来说只是一本骗人的破书,对喜欢他的人来说,就是功力升华的秘笈。对比题主这些“拳法”和太极拳式,都像“水”一般灵活自在,但也不乏一定章程。

天下莫柔弱于水,而攻坚强者莫之能胜,以其无以易之。弱之胜强,柔之胜刚。为何“轻量级”三个字越来越守大家爱戴,武功强者轻装上阵,能发挥更大威力。

并不是说TS这类强类型不行,凡事讲究相生相克,场景不同,孰强孰弱不定,但一味否认JS的类型我觉得不对。

Be water,my friends!

本文章由javascript技术分享原创和收集

发表评论 (审核通过后显示评论):