JSON.parse()
負責將 JSON String 轉成 Object,唯其以 Static Method 呈現,特別將其 Function 化適合 Pipeline。
Version
macOS Catalina 10.15.4
VS Code 1.43.2
Quokka 1.0.284
Wink-fp 1.20.63
JSON.parse()
import { pipe, assoc } from 'ramda'
let data = `{"title": "Speaking JavaScript"}`
let f = pipe(
JSON.parse,
assoc('price', 100)
)
f(data) // ?
JSON.stringify()
可直接搭配 pipe()
,唯其以 static method 形式比較不搭。
parse()
import { pipe, assoc } from 'ramda'
let data = `{"title": "Speaking JavaScript"}`
let parse = s => JSON.parse(s)
let f = pipe(
parse,
assoc('price', 100)
)
f(data) // ?
第 5 行
let parse = s => JSON.parse(s)
將 JSON.parse()
以 parse()
方式呈現。
第 7 行
let f = pipe(
parse,
assoc('price', 100)
)
如此 pipe()
就能以 function 形式使用 parse()
。
Wink-fp
import { pipe, assoc } from 'ramda'
import { parse } from 'wink-fp'
let data = `{"title": "Speaking JavaScript"}`
let f = pipe(
parse,
assoc('price', 100)
)
f(data) // ?
Wink-fp 特別提供 function 版本的 parse()
,更適合搭配 pipe()
。
parse()
String -> Object
將 JSON string 轉成 object
String
:data 為 JSON strin
Object
:回傳為 object
Conclusion
- ECMAScript 很多內建都以 static method 提供,其實也可自行包成 function 更適合 pipeline 使用