killme2008/aviatorscript

[建议]支持null-safety引用变量

HasonHuang opened this issue · 5 comments

版本:5.4.1
建议:支持 Null-Safety 引用变量。

例如:a 为 null 时不会抛出空指针。

a?.b

2022-11 有小伙伴已经建议过。

image

嗯,可以下个大版本支持下,看我春节有没有时间

deific commented

这种写法也就是js中的可选链运算符(?.),建议实现是也实现空值合并运算符,也就是最后可??后跟一个默认值。如:let a= b?.c.d?.e ?? 10; 如果b或d或e不存在时,返回默认值10。

如楼上所说默认值,希望可以同时支持 Elvis 运算符(Groovy, Spring SpEL 支持)。

displayName = user.name ? user.name : 'Anonymous'   // 三元运算符
displayName = user.name ?: 'Anonymous'              // Elvis 运算符
displayName = user?.name ?: 'Anonymous'             // Null-Safety 与 Elvis 运算符一起使用

想实现,最近没时间,争取下个大版本吧。