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

简介: 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!
相关文章
|
24天前
|
JavaScript 前端开发 开发者
Vue.js 框架大揭秘:响应式系统、组件化与路由管理,震撼你的前端世界!
【8月更文挑战第27天】Vue.js是一款备受欢迎的前端JavaScript框架,以简洁、灵活和高效著称。本文将从三个方面深入探讨Vue.js:响应式系统、组件化及路由管理。响应式系统为Vue.js的核心特性,能自动追踪数据变动并更新视图。例如,通过简单示例代码展示其响应式特性:`{{ message }}`,当`message`值改变,页面随之自动更新。此外,Vue.js支持组件化设计,允许将复杂界面拆分为独立且可复用的组件,提高代码可维护性和扩展性。如创建一个包含标题与内容的简单组件,并在其他页面中重复利用。
48 3
|
1月前
|
前端开发 JavaScript 搜索推荐
Next.js 适合什么类型的项目开发?
【8月更文挑战第4天】Next.js 适合什么类型的项目开发?
88 3
|
2月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
70 2
|
1月前
|
机器学习/深度学习 人工智能 前端开发
【人工智能】利用TensorFlow.js在浏览器中实现一个基本的情感分析系统
使用TensorFlow.js在浏览器中进行情感分析是一个非常实用的应用场景。TensorFlow.js 是一个用于在JavaScript环境中训练和部署机器学习模型的库,使得开发者能够在客户端直接运行复杂的机器学习任务。对于情感分析,我们可以使用预先训练好的模型来识别文本中的积极、消极或中性情感。
56 4
【人工智能】利用TensorFlow.js在浏览器中实现一个基本的情感分析系统
|
1月前
|
存储 安全 前端开发
|
1月前
|
缓存 JavaScript 前端开发
|
1月前
|
存储 缓存 JSON
Node.js有哪些模块系统
【8月更文挑战第12天】Node.js有哪些模块系统
32 3
|
1月前
|
JavaScript 前端开发
在JavaScript如何确认数据的类型?
# `typeof` 与 `instanceof` 数据类型判断 `typeof` 操作符用于确定变量的基本数据类型,例如: - "string" - "number" - "boolean" - "undefined" 但对于引用类型如对象和数组,包括 `null`,它返回 "object"。 `instanceof` 用于检查对象是否为特定构造函数的实例,返回布尔值。它能准确识别数组等复杂类型,通过检查对象的原型链来确定其是否属于某个构造函数的实例。 两者结合使用可全面判断数据类型。
27 2
|
1月前
|
JavaScript
【Deepin 20系统】Jupyter notebook解决ValueError: Please install Node.js and npm before continuing installa
文章讨论了在Deepin 20系统上安装Jupyter Notebook的debug插件时出现的"ValueError: Please install Node.js and npm before continuing installation"错误,并提供了使用conda安装Node.js的解决方法。
69 1
|
28天前
|
JavaScript 前端开发 UED
探秘 JavaScript 错误背后的真相——揭开异常类型的神秘面纱,让你的代码从此无懈可击!
【8月更文挑战第23天】本文深入探讨了JavaScript中常见的异常类型,包括`ReferenceError`(未定义的引用)、`TypeError`(类型错误)、`SyntaxError`(语法错误)、`RangeError`(范围错误)、`EvalError`(评估错误)以及`URIError`(URI错误),并通过示例展示了如何有效地诊断与处理这些异常。此外,还介绍了如何自定义错误类以适应特定场景的需求。掌握这些异常处理技巧对于构建稳定可靠的Web应用程序至关重要。
28 0