资讯专栏INFORMATION COLUMN

体验usually.js的管道函数——pipe函数

aristark / 629人阅读

摘要:本质上来说,管道操作符是单参数函数调用的语法糖,它允许你像这样执行一个调用使用正常语法写的话,等效的代码是这样的使用占位符的管道函数还可以使用占位符,将前一个函数的运算结果传参给下一个的函数,如等价于。

体验usually.js的管道函数——pipe函数

usually.js 是一个面向现代 Web 开发的 JavaScript 函数库,基于 ES6 开发。最新版本2.4.1,最新版本usually.js增加管道函数—— pipe 函数。什么是管道函数?管道函数,其作用是将前一步的结果直接传参给下一步的函数,从而省略了中间的赋值步骤,可以大量减少内存中的对象,节省内存。

基本使用

usually.js 管道函数 pipe 的管道操作符 |> 允许以一种易读的方式去对函数链式调用。本质上来说,管道操作符是单参数函数调用的语法糖,它允许你像这样执行一个调用:

const a = -1.15454
let result = U.pipe(a, "Math.abs |> Math.round")

使用正常js语法写的话,等效的代码是这样的:

const a = -1.15454
let result = Math.round(Math.abs(a))
使用$占位符

usually.js 的管道函数pipe还可以使用$占位符,将前一个函数的运算结果传参给下一个的函数,如:U.pipe(x, "a |> b($, y)") 等价于 b(a(x), y)。

使用$占位符示例:

const x = 1
const y = 3
const z = 2

const foo = n => n + 1;
const bar = (x, y) => x * y;
const baz = (x, y, z) => x * y + z
      
const result = U.pipe(x, "foo |> bar($, y) |> baz($ , y, z)")
// => result = 20

2.4.1版本 usually.js 更新内容如下:

(1)、bug 修复,修复 stringifyURL 函数重复追加“?”的bug
(2)、新增管道操作函数 —— pipe 函数,简化多函数运算流
(3)、新增对象值覆盖函数 —— overValues 函数
(4)、新增颜色值处理函数 —— extendHex 函数,将3位的16进制色值转换为6位
(5)、新增 randomHex 函数 —— 生成16进制随机颜色色值
(6)、新增 parseCookie 函数,将 cookie 字符串解析为对象形式

附录

usually.js官方文档地址:https://jofunliang.github.io/usuallyjs/
usually.js的GitHub地址:https://github.com/JofunLiang/usuallyjs

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/103022.html

相关文章

  • RxJS 6有哪些新变化?

    摘要:有哪些新变化于年月日正式发布,为开发人员带来了一些令人兴奋的增补和改进。不要移除包,直到你将所有的链式操作修改为管道操作符。 RxJS 6有哪些新变化? RxJs 6于2018年4月24日正式发布,为开发人员带来了一些令人兴奋的增补和改进。Ben Lesh, rxJS核心开发成员,强调: RxJS 6在拥有更小API的同时,带来了更整洁的引入方式 提供一个npm包,该package可...

    LeanCloud 评论0 收藏0
  • Swoole 源码分析——基础模块之 Pipe 管道

    摘要:并没有使用命名管道。的创建创建匿名管道就是调用函数,程序自动设置管道为非阻塞式。函数同样的获取管道文件描述符根据来决定。模块负责为进程创建与。当线程启动的时候,会将加入的监控当中。 前言 管道是进程间通信 IPC 的最基础的方式,管道有两种类型:命名管道和匿名管道,匿名管道专门用于具有血缘关系的进程之间,完成数据传递,命名管道可以用于任何两个进程之间。swoole 中的管道都是匿名管道...

    Tikitoo 评论0 收藏0
  • php管道模式手测

    摘要:所以管道模式大致需要三个角色管道,阀门和载荷流水。模仿返回处理后的结果输出结语上面的代码并没有达到中间件的真正执行部分,例子中只是用到了管道模式的一部分。 一直在用Laravel框架,很喜欢laravel框架的中间件。在请求到结果之前,如果我们想要对路由或请求进行额外的处理,简单的加个Midleware中间件就行了,很简单,很方便是不是。最近几天看了下它的中间件的实现方式,把自己的心得...

    zzir 评论0 收藏0

发表评论

0条评论

aristark

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<