模仿node.js的getter写法

bsnry 2017-11-08 11:13:19


看了node.js的supertest这个库, 它有这么一句用法

需求:expect(result).to.be.false; //If result != false, throw it.

于是,我想模仿它来完成这个功能,无奈力不能逮。下面是我写代码:



var result = true;

var wrapper = {
to: {

be: {
get: false()
{

};
};
};
};

function expect(result) {
return wrapper;

}

expect(result).to.be.false; //If result != false, throw it.


我应该如何来正确的模拟之?
...全文
129 3 打赏 收藏 举报
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
似梦飞花 2017-11-08

var result = true;

    var wrapper = {
        to: {
            be: {
                get false(){
                    return false;
                }
            }
        }
    };

    function expect(result) {
        return wrapper;

    }

    expect(result).to.be.false; //If result != false, throw it.
  • 打赏
  • 举报
回复
functionsub 2017-11-08
var result = true;

var wrapper = {
    result : undefined,
    to: {
        be: {
            get false(){
                if(wrapper.result !== false){
                    throw Error('throw it!'); // 你要的throw it
                    return true;
                }
            }
        }
    }
};

function expect(result) {
    wrapper.result = result;
    return wrapper;
}
expect(result).to.be.false;
。。一不小心就ctrl+enter了。
  • 打赏
  • 举报
回复
functionsub 2017-11-08
var result = true; var wrapper = { result : undefined, to: { be: { get false(){ if(wrapper.result !== false){throw Error('throw it!') return true; } } } } }; function expect(result) { wrapper.result = result; return wrapper; }
  • 打赏
  • 举报
回复
相关推荐
发帖
JavaScript
加入

8.6w+

社区成员

Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
申请成为版主
帖子事件
创建了帖子
2017-11-08 11:13
社区公告
暂无公告