模仿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.


我应该如何来正确的模拟之?
...全文
161 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
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; }

87,921

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧