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

大大提高开发效率的十个JavaScript技巧

来源: 责编: 时间:2024-03-18 17:47:23 297观看
导读JavaScript 是前端开发中的必备语言。但是我发现很多同学对于 JavaScript 的技巧使用却并不熟悉。所以,今天咱们就来分享一下 JavaScript 的10个好用的技巧,帮你更好地使用 JavaScript,提升开发效率!1. 使用 flatMap有些

JavaScript 是前端开发中的必备语言。但是我发现很多同学对于 JavaScript 的技巧使用却并不熟悉。所以,今天咱们就来分享一下 JavaScript 的10个好用的技巧,帮你更好地使用 JavaScript,提升开发效率!eCv28资讯网——每日最新资讯28at.com

1. 使用 flatMap

有些 JavaScript 方法尽管鲜为人知,但它们解决独特挑战的潜力能够增强编码效率, 比如 flatMap()eCv28资讯网——每日最新资讯28at.com

数组方法 flatMap() 本质上是 map()和 flat() 的组合,区别在于 flatMap 只能扁平1级,flat 可以指定需要扁平的级数,flatmap 比分别调用这两个方法稍微高效一些。eCv28资讯网——每日最新资讯28at.com

  • 使用 flat + map
const arr = [1, 2, [4, 5], 6, 7, [8]];// 使用 map 对每个元素进行操作并用 flat 展平结果const result = arr.map(element => Array.isArray(element) ? element : [element]).flat();console.log(result); // output: [1, 2, 4, 5, 6, 7, 8]
  • 使用 flatmap
const arr = [1, 2, [4, 5], 6, 7, [8]] ;console.log(arr.flatMap((element) => element)); // output :[1, 2, 4, 5, 6, 7, 8]

flatmap 尽管是一个方法,但也会有 中间数组 /(指中间创建了必须进行垃圾收集的临时数组/)[1]的产生,flatMap 非常适合在需要灵活性和可读性的情况下使用。eCv28资讯网——每日最新资讯28at.com

2. console 的妙用

console 并不只有 console.log(), 实际生产中都会使用已经封装好的log库,而 控制台对象 console 实际上内置了许多非常有用的方法,帮助您提高调试输出的质量和可读性,掌握它们能使您更轻松地 debug 和修复代码中的问题。eCv28资讯网——每日最新资讯28at.com

// 1. console.time 和 console.timeEnd// 测量执行一段代码所需的时间。识别代码中的性能瓶颈并对其进行优化console.time('开始获取数据');fetch('https://reqres.in/api/users') .then(response => response.json()) .then(data => { console.timeEnd('获取数据花费时间:'); // ...code });  // 2. console.dir// console.dir 方法以分层格式输出对象的属性。方便查看对象的结构以及其所有属性和方法const promise = new Promise((resolve, reject) => resolve('foo'));console.dir(promise);// 3. console.count// console.count 方法来计算特定日志消息的输出次数。这对于跟踪特定代码路径的执行次数以及识别代码中的热点非常有用const fun = (x) => console.count(x);fun('刻晴'); // 1fun('甘雨'); // 1fun('刻晴'); // 2// 4. console.trace// trace 可以输出堆栈跟踪。对于理解代码中的执行流程以及识别特定日志消息的来源非常有用const foo = () => console.trace();const bar = () => foo();bar();// 5. console.profile profileEnd// 测量代码块的性能。这对于识别性能瓶颈以及优化代码以提高速度和效率非常有用。console.profile('MyProfile');// 想要测量性能的代码for (let i = 0; i < 100000; i++) { // ...code}console.profileEnd('MyProfile');

3. 深拷贝 structuredClone()

此前,如果开发人员想要深拷贝对象,经常需要依赖第三方库来实现或者手动实现一个神拷贝,或者采取 const cloneObj = JSON.parse(JSON.stringify(obj)); 的 hack, 但其在处理包含循环引用或不符合 JSON 的数据类型(如 Map 和 Set,Blob 等 ) 的更复杂对象时,是有很多不足之处的eCv28资讯网——每日最新资讯28at.com

而现在,JavaScript 内置了一个 structuredClone() 的方法, 此方法提供了一种简单有效的方法来深度克隆对象, 且适用于大多数现代浏览器和 Node.js v17 以上eCv28资讯网——每日最新资讯28at.com

// 将原始对象传递给该函数, 它将返回一个具有不同引用和对象属性引用的深层副本const obj = { name: 'Mike', friends: [{ name: 'Sam' }] };const clonedObj = structuredClone(obj);console.log(obj.name === clonedObj); // falseconsole.log(obj.friends === clonedObj.friends); // false

与众所周知的 JSON.parse(JSON.stringify())” 不同, structuredClone() 允许您克隆循环引用,这是目前在 JavaScript 中使用深拷贝最简单的方法。eCv28资讯网——每日最新资讯28at.com

4. 带标签的模板

带标签的模板(Tagged/_Templates[2]) - 是模板字符串(反引号)的一种更高级的形式,它允许你使用函数解析模板字面量。eCv28资讯网——每日最新资讯28at.com

这个高级特性我也是在 Next.js 14[3] 发布后人们都在讨论的一张图才去了解的

本文链接:http://www.28at.com/showinfo-26-77530-0.html大大提高开发效率的十个JavaScript技巧

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

上一篇: Python黑科技:探索反射和动态属性的无限可能

下一篇: 不完美、但成功,SpaceX 星舰 No.3 发射的真正意义

标签:
  • 热门焦点
  • 得物效率前端微应用推进过程与思考

    一、背景效率工程随着业务的发展,组织规模的扩大,越来越多的企业开始意识到协作效率对于企业团队的重要性,甚至是决定其在某个行业竞争中突围的关键,是企业长久生存的根本。得物
  • 三言两语说透柯里化和反柯里化

    JavaScript中的柯里化(Currying)和反柯里化(Uncurrying)是两种很有用的技术,可以帮助我们写出更加优雅、泛用的函数。本文将首先介绍柯里化和反柯里化的概念、实现原理和应用
  • 使用LLM插件从命令行访问Llama 2

    最近的一个大新闻是Meta AI推出了新的开源授权的大型语言模型Llama 2。这是一项非常重要的进展:Llama 2可免费用于研究和商业用途。(几小时前,swyy发现它已从LLaMA 2更名为Lla
  • 梁柱接棒两年,腾讯音乐闯出新路子

    文丨田静 出品丨牛刀财经(niudaocaijing)7月5日,企鹅FM发布官方公告称由于业务调整,将于9月6日正式停止运营,这意味着腾讯音乐长音频业务走向消亡。腾讯在长音频领域还在摸索。为
  • 拼多多APP上线本地生活入口,群雄逐鹿万亿市场

    Tech星球(微信ID:tech618)文 | 陈桥辉 Tech星球独家获悉,拼多多在其APP内上线了&ldquo;本地生活&rdquo;入口,位置较深,位于首页的&ldquo;充值中心&rdquo;内,目前主要售卖美食相关的
  • 中国家电海外掘金正当时|出海专题

    作者|吴南南编辑|胡展嘉运营|陈佳慧出品|零态LT(ID:LingTai_LT)2023年,出海市场战况空前,中国创业者在海外纷纷摩拳擦掌,以期能够把中国的商业模式、创业理念、战略打法输出海外,他们依
  • iQOO Neo8系列或定档5月23日:首发天玑9200+ 安卓跑分王者

    去年10月,iQOO推出了iQOO Neo7系列机型,不仅搭载了天玑9000+,而且是同价位唯一一款天玑9000+直屏旗舰,一经上市便受到了用户的广泛关注。在时隔半年后,
  • 最薄的14英寸游戏笔记本电脑 Alienware X14已可以购买

    2022年1月份在国际消费电子展(CES2022)上首次亮相的Alienware新品——Alienware X14现在已经可以购买了,这款笔记本电脑被誉为世界上最薄的 14 英寸游戏笔
  • 亲历马斯克血洗Twitter,硅谷的苦日子在后头

    文/刘哲铭  编辑/李薇  马斯克再次挥下裁员大刀。  美国时间11月14日,Twitter约4400名外包员工遭解雇,此次被解雇的员工的主要工作为内容审核等。此前,T
Top