我正在寻找一个客户端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,它应该奉送.