猿问

js中一段代码看不懂

在读一个api源码的时候,发现一段代码看不懂


function get (obj, key) {

    return key.split('.').reduce(function (o, x) {

      return (typeof o === 'undefined' || o === null) ? o : o[x]

    }, obj)

  }

obj , key 参数具体指代什么我也不清楚,但是在Stack Overflow上找到一样的代码



说明这个工具函数应该还是有一定的复用性的

只是我英语太渣读不懂,


有没有js高手告诉我这段代码的作用是什么,以及如何去读懂它


子衿沉夜
浏览 856回答 2
2回答

白猪掌柜的

const obj = {a:{b:{c:1}}}get(obj, 'a.b.c') // 1obj.a.b.c // 1get(obj, 'a.d.e') // undefinedobj.a.d.e // Error可能就是这个作用吧,当前置key的值不存在的时候避免报错,返回undefined。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答