小编tsa*_*yen的帖子

JavaScript模拟java.lang.Optional?

我正在寻找一个客户端JavaScript库,它允许我使用一些类型的Option类型编写类似于我在其他语言中可以做的代码,例如java.lang.Optional.

我的目标是避免null/ undefined检查客户端代码并使API更加明确.

这是我希望能够编写的API:

var dictionary = {
    key1: 'value1',
    key2: 'value2'
}

function getValue(key){
    var value = dictionary[key];
    if(value !== null && value !== undefined) 
         return Optional.of(value);
    else 
         return Optional.empty();
}
Run Code Online (Sandbox Code Playgroud)

这是客户端代码:

var value = getValue('key3');
if(value.isPresent())
     console.log('got a value: ' + value.get().toUpperCase());
else
     console.log('no value found!');
Run Code Online (Sandbox Code Playgroud)

或者有时:

var value = getValue('unknown key').orElse('default value');
Run Code Online (Sandbox Code Playgroud)

如果我打电话get()Optional.empty()价值,它应该抛出某种Error.如果我叫Optional.of()null或者undefined,它应该奉送.

javascript java null undefined optional

7
推荐指数
2
解决办法
4659
查看次数

标签 统计

java ×1

javascript ×1

null ×1

optional ×1

undefined ×1