当前位置:首页 > 科技  > 软件

你有多久没在 JS 中使用 class 了?

来源: 责编: 时间:2024-07-05 09:02:20 1020观看
导读Hello,大家好,我是 Sunday。在 ES6 的规范中(2015年),ECMAScript 推出了 class 语法。class 本质上是对基于原型的继承机制的一种语法糖,其目的是为了使定义和继承对象更加简洁和清晰。并且,这种语法在其他的语言(比如:java)中

Hello,大家好,我是 Sunday。aXQ28资讯网——每日最新资讯28at.com

在 ES6 的规范中(2015年),ECMAScript 推出了 class 语法。aXQ28资讯网——每日最新资讯28at.com

class 本质上是对基于原型的继承机制的一种语法糖,其目的是为了使定义和继承对象更加简洁和清晰。并且,这种语法在其他的语言(比如:java)中都有非常广泛的应用。aXQ28资讯网——每日最新资讯28at.com

但是,不知道从什么时候开始,我们好像已经逐渐遗忘了 class,特别是在现在基于框架(Vue 或者 React)的项目中。aXQ28资讯网——每日最新资讯28at.com

那么到底是因为什么原因导致 class 逐渐没落,目前 class 的应用场景又是什么呢?今天,咱们就来看一看这个问题。aXQ28资讯网——每日最新资讯28at.com

01:JS 的独特特性

JavaScript 是一种动态、弱类型的语言,具有其独特的特性:aXQ28资讯网——每日最新资讯28at.com

  • 原型继承:JS 的核心是基于原型的继承机制,而不是传统的类继承。每个对象可以作为另一个对象的原型,从而实现属性和方法的共享。
  • 函数式编程:函数是 JS 中的一等公民。同时在 JS 中我们习惯了使用函数可以作为参数传递,也可以作为返回值。
  • 灵活性:JS 是一种弱类型语言,变量可以在不同时间持有不同类型的值。这种动态特性使得语言更加灵活。同时对象的结构可以在运行时动态改变,属性可以随时添加、删除或修改

这些特性使得 JavaScript 在很长一段时间内依赖于 构造函数和原型链 来实现面向对象编程,而不是类继承。aXQ28资讯网——每日最新资讯28at.com

02:Vue 和 React 并不推崇使用 class

Vue 和 React 是目前两个最受欢迎的框架,但是它们并不推崇使用 class 语法:aXQ28资讯网——每日最新资讯28at.com

Vue

  • 选项式 API:Vue 2 采用的是选项式 API,我们通过定义对象的属性(如 data、methods、computed 等)来构建组件,而不是通过类继承。
  • 组合式 API:Vue 3 引入了组合式 API(Composition API),提供了一种更灵活的方式来组织和复用逻辑,通过函数和钩子的组合来管理状态和生命周期方法,而不依赖于 class。

React

  • 函数组件:React 从一开始就支持函数组件,随着 React 16.8 引入 Hooks,函数组件变得更加强大和灵活,几乎可以替代类组件的所有功能。所以,从 16.8 以后 React 不再推荐使用类组件。而专用函数是组件和 hooks
  • Hooks:Hooks 提供了在函数组件中管理状态和副作用的能力,例如 useState、useEffect、useContext 等,这些 hooks 目前是组件 react 项目的核心功能

基于此,我们可以在线,目前无论是 Vue 还是 React,都不在有使用 class 的场景。aXQ28资讯网——每日最新资讯28at.com

那么,目前 class 就已经完全没有应用场景了吗?也不是!aXQ28资讯网——每日最新资讯28at.com

03:class 的应用场景有什么?

尽管 class 在项目前端开发中逐渐减少使用,但它在一些特定场景中仍然有其独特的应用价值:aXQ28资讯网——每日最新资讯28at.com

  • 面向对象编程(OOP):对于那些习惯于面向对象编程的开发者(特别是 java 转前端的开发者),class 提供了一种更熟悉和直观的方式来定义和继承对象。它在一些大型、复杂的项目中,特别是需要严格的对象模型和继承层次时,依然具有优势。
  • 工具库和框架:在一些工具库和框架中,class 仍然被广泛使用。例如,很多 JavaScript 库(如 Three.js、Vue.js 等)依然使用 class 来定义核心对象和模块。
  • 服务器端开发:在 Node.js 环境中,class 也经常被用来定义模块和组件,特别是在使用 TypeScript 时

总结

针对 class 而言,虽然我们在日常的项目开发中很少有应用场景。但是在进行 库(原生的 JS 或 TS) 开发时,class 依然具备独特的优势。aXQ28资讯网——每日最新资讯28at.com


aXQ28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-98860-0.html你有多久没在 JS 中使用 class 了?

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 阿里校招面试,我来瞅瞅怎么回事

下一篇: 业务侧最好的朋友:微服务中的 BFF 架构

标签:
  • 热门焦点
  • 鸿蒙OS 4.0公测机型公布:甚至连nova6都支持

    鸿蒙OS 4.0公测机型公布:甚至连nova6都支持

    华为全新的HarmonyOS 4.0操作系统将于今天下午正式登场,官方在发布会之前也已经正式给出了可升级的机型产品,这意味着这些机型会率先支持升级享用。这次的HarmonyOS 4.0支持
  • 0糖0卡0脂 旭日森林仙草乌龙茶优惠:15瓶到手29元

    0糖0卡0脂 旭日森林仙草乌龙茶优惠:15瓶到手29元

    旭日森林无糖仙草乌龙茶510ml*15瓶平时要卖为79.9元,今日下单领取50元优惠券,到手价为29.9元。产品规格:0糖0卡0脂,添加草本仙草汁,清凉爽口,富含茶多酚,保留
  • 一文掌握 Golang 模糊测试(Fuzz Testing)

    一文掌握 Golang 模糊测试(Fuzz Testing)

    模糊测试(Fuzz Testing)模糊测试(Fuzz Testing)是通过向目标系统提供非预期的输入并监视异常结果来发现软件漏洞的方法。可以用来发现应用程序、操作系统和网络协议等中的漏洞或
  • 零售大模型“干中学”,攀爬数字化珠峰

    零售大模型“干中学”,攀爬数字化珠峰

    文/侯煜编辑/cc来源/华尔街科技眼对于绝大多数登山爱好者而言,攀爬珠穆朗玛峰可谓终极目标。攀登珠峰的商业路线有两条,一是尼泊尔境内的南坡路线,一是中国境内的北坡路线。相
  • 电视息屏休眠仍有网络上传 爱奇艺被质疑“薅消费者羊毛”

    电视息屏休眠仍有网络上传 爱奇艺被质疑“薅消费者羊毛”

    记者丨宁晓敏 见习生丨汗青出品丨鳌头财经(theSankei) 前不久,爱奇艺发布了一份亮眼的一季报,不仅营收和会员营收创造历史最佳表现,其运营利润也连续6个月实现增长。自去年年初
  • “又被陈思诚骗了”

    “又被陈思诚骗了”

    作者|张思齐 出品|众面(ID:ZhongMian_ZM)如今的国产悬疑电影,成了陈思诚的天下。最近大爆电影《消失的她》票房突破30亿断层夺魁暑期档,陈思诚再度风头无两。你可以说陈思诚的
  • 阿里大调整

    阿里大调整

    来源:产品刘有媒体报道称,近期淘宝天猫集团启动了近年来最大的人力制度改革,涉及员工绩效、层级体系等多个核心事项,目前已形成一个初步的“征求意见版”:1、取消P序列
  • 三星Galaxy Z Fold/Flip 5国行售价曝光 :最低7499元/12999元起

    三星Galaxy Z Fold/Flip 5国行售价曝光 :最低7499元/12999元起

    据官方此前宣布,三星将于7月26日也就是明天在韩国首尔举办Unpacked活动,届时将带来带来包括Galaxy Buds 3、Galaxy Watch 6、Galaxy Tab S9、Galaxy
  • SN570 NVMe SSD固态硬盘 价格与性能兼具

    SN570 NVMe SSD固态硬盘 价格与性能兼具

    SN570 NVMe SSD固态硬盘是西部数据发布的最新一代WD Blue系列的固态硬盘,不仅闪存技术更为精进,性能也得到了进一步的跃升。WD Blue SN570 NVMe SSD的包装外
Top