ES6管道运算符怎么用

这篇文章主要介绍“ES6管道运算符怎么用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“ES6管道运算符怎么用”文章能帮助大家解决问题。

创新互联建站主要从事成都网站制作、网站设计、网页设计、企业做网站、公司建网站等业务。立足成都服务阳谷,十余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18980820575

JS中得管道运算符。

Unix 操作系统有一个管道机制(pipeline),可以把前一个操作的值传给后一个操作。这个机制非常有用,使得简单的操作可以组合成为复杂的操作。许多语言都有管道的实现,现在有一个提案,让 JavaScript 也拥有管道机制。

JavaScript 的管道是一个运算符,写作|>。它的左边是一个表达式,右边是一个函数。管道运算符把左边表达式的值,传入右边的函数进行求值。

x |> f

// 等同于

f(x)

管道运算符最大的好处,就是可以把嵌套的函数,写成从左到右的链式表达式。

function doubleSay (str) {

  return str + ", " + str;

}

function capitalize (str) {

  return str[0].toUpperCase() + str.substring(1);

}

function exclaim (str) {

  return str + '!';

}

//这三个链式表达式写法:

// 传统的写法

exclaim(capitalize(doubleSay('hello')))

// "Hello, hello!"

// 管道的写法

'hello'

  |> doubleSay

  |> capitalize

  |> exclaim

// "Hello, hello!"

管道运算符只能传递一个值,这意味着它右边的函数必须是一个单参数函数。如果是多参数函数,就必须进行柯里化,改成单参数的版本。

首先说一下柯里化是什么

// 普通的函数

function fn(a,b) {

    return a+b

}

//柯里化后

function cfn(a) {

    return function (b) {

        return a + b

    }

}

fn(5, 2)         

cfn(5)(2)   

function double (x) { return x + x; }

function add (x, y) { return x + y; }

let person = { score: 25 };

person.score

  |> double

  |> (_ => add(7, _))

// 57

上面代码中,add函数需要两个参数。但是,管道运算符只能传入一个值,因此需要事先提供另一个参数,并将其改成单参数的箭头函数_ => add(7, _)。这个函数里面的下划线并没有特别的含义,可以用其他符号代替,使用下划线只是因为,它能够形象地表示这里是占位符。

具体执行就是将25传值给double得到50即第一个函数得执行结果,然后再将50传值给匿名函数返回add(x,y)函数默认x得值未7,"_"为占位符他会等于上一个结果得那个50所以最后得值为57.

管道运算符对于await函数也适用。

x |> await f

// 等同于

await f(x)

const userAge = userId |> await fetchUserById |> getAgeFromUser;

// 等同于

const userAge = getAgeFromUser(await fetchUserById(userId));

关于“ES6管道运算符怎么用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注创新互联行业资讯频道,小编每天都会为大家更新不同的知识点。

文章标题:ES6管道运算符怎么用
网页链接:https://www.cdcxhl.com/article38/ggposp.html

成都网站建设公司_创新互联,为您提供移动网站建设网站收录软件开发网站制作网页设计公司企业网站制作

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

绵阳服务器托管