首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >javascript问号?:逻辑语法,防御性编程

javascript问号?:逻辑语法,防御性编程
EN

Stack Overflow用户
提问于 2013-11-07 10:18:17
回答 3查看 1.2K关注 0票数 0

我正在尝试使用javascript ?:语法重写下面的语句。

代码语言:javascript
复制
if(type of someVariable !="undefined"){
     someFunction(someVariable);
}else{}

这是我当前的尝试,它导致了一个语法错误

代码语言:javascript
复制
typeof someVariable != "undefined" ? someFunction(someVariable) : ;

如果有人能告诉我我做错了什么,我将不胜感激。欢迎任何关于防御性编程最佳实践的技巧。

EN

回答 3

Stack Overflow用户

发布于 2013-11-07 10:23:25

?:style (需要:两端的表达式):

代码语言:javascript
复制
typeof(someVariable) != 'undefined' ? someFunction : null;

忍者风格:

代码语言:javascript
复制
someVariable !== undefined && someFunction(someVariable);

编辑:我不能发誓noop是Javascript中的一个东西,但很明显我错了。切换到null

票数 5
EN

Stack Overflow用户

发布于 2013-11-07 10:26:09

它应该看起来像这样。

代码语言:javascript
复制
someVariable != undefined ? someFunction(someVariable):someOtherfunction(someOtherVarialbe);

如果你不想要else语句,而只想把它写成一行,你可以这样做:

代码语言:javascript
复制
  if(someVariable != undefined){someFunction(someVariable);}
票数 0
EN

Stack Overflow用户

发布于 2013-11-07 10:31:45

即使三元操作控制程序流,我也只在赋值操作或从函数返回值时使用它。

看看这个:Benefits of using the conditional ?: (ternary) operator

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19826796

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档