我看到了这个帖子,但我没有看到JavaScript特定的例子.有一个简单string.Empty
的JavaScript可用,还是只是检查的情况""
?
我们经常在JavaScript代码中使用以下代码模式
if (typeof(some_variable) != 'undefined' && some_variable != null)
{
// Do something with some_variable
}
Run Code Online (Sandbox Code Playgroud)
是否有一种不那么冗长的检查方式具有相同的效果?
根据一些论坛和文献说,以下应该具有相同的效果.
if (some_variable)
{
// Do something with some_variable
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,当未定义时,Firebug将这样的语句评估为运行时错误some_variable
,而第一个语句就好了.这只是Firebug的一个(不需要的)行为,还是这两种方式之间确实存在一些差异?
如何在Javascript中检查变量是否为空?抱歉这个愚蠢的问题,但我是Javascript的新手!
if(response.photo) is empty {
do something
else {
do something else
}
Run Code Online (Sandbox Code Playgroud)
response.photo
来自JSON,它有时可能是空的,空数据单元格!我想检查一下它是否为空.
给定具有可选参数的函数:
function DoSomething(a, b?) {
/** Implementation */
}
Run Code Online (Sandbox Code Playgroud)
如何确定是否在函数体内提供了可选参数?目前,我能想到的最好的方法是:
typeof b === 'undefined'
Run Code Online (Sandbox Code Playgroud)
但这有点混乱而且不直接阅读.由于TypeScript提供了可选参数支持,我希望它还有一种直观的方法来检查是否提供了参数.
如上例所示,我不介意是否将可选参数显式设置为undefined
或者根本不提供.
我想检查我的对象是否为空,不要渲染我的元素,这是我的代码:
<div class="comeBack_up" *ngIf="previous_info != {}">
<a
[routerLink]="['Inside_group_page',{'name':previous_info.path | dotTodash }]"
>
{{previous_info.title}}
</a>
</div>
Run Code Online (Sandbox Code Playgroud)
但是我的代码错了,最好的方法是什么?
可能重复:
在JavaScript中检测未定义的对象属性
如何确定变量是否为'undefined'或'null'
是否有标准函数来检查JavaScript中的null,undefined或blank变量?
在我的代码中,我有一个看起来像的条件
if (variable !== null && variable !== undefined) {
}
Run Code Online (Sandbox Code Playgroud)
但不是分两步完成,即检查它是否未定义且不为空.是否有一步检查取代此检查.
我想检查一下DOM元素的特定属性是否未定义 - 我该怎么做?
我试过这样的事情:
if (marcamillion == undefined) {
console.log("Marcamillion is an undefined variable.");
}
ReferenceError: marcamillion is not defined
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,引用错误告诉我该变量未定义,但我的if
检查显然不起作用,因为它生成标准js ReferenceError
而不是我正在寻找的错误消息console.log
.
编辑1
或者更好的是,如果我试图确定元素的属性是否未定义如下:
$(this).attr('value')
什么是确定是否未定义的最佳方法?
您好,感谢您的时间:
我正在学习以下教程:https : //app.pluralsight.com/library/courses/react-flux-building-applications/table-of-contents
目前我已经检测到,当您尝试创建作者时,它会尝试加载当前作者的 URL 的作者 ID。因为它正在被创建,它是未定义的,因此创建作者功能不起作用。
我已经阅读了一些关于在 JS 和 React 中检查未定义类型的主题: 如何确定变量是“未定义”还是“空”?
https://github.com/facebook/react/issues/3725
我尝试了以下方法:
在 manageAuthorForm 中,我们将作者的状态传递给 authorForm:
render() {
return (
<AuthorForm author={this.state.author}
onChange={this.setAuthorState}
onSave={this.saveAuthor}/>
);
};
Run Code Online (Sandbox Code Playgroud)
然后我尝试进入 AuthorForm:
import React from 'react';
import {Input} from "../common/textInput";
import Link from "react-router-dom/es/Link";
class AuthorForm extends React.Component {
componentWillReceiveProps(nextProps) {
if (nextProps.state.author === undefined) {
this.props.author = {
author: {
id: '',
firstName: '',
lastName: '',
}
};
}
}
render() {
return (
<form> …
Run Code Online (Sandbox Code Playgroud) 我知道这可能是一个经典的javascript问题,但我经常发现自己使用:
if (!something) {
//...
}
Run Code Online (Sandbox Code Playgroud)
在TypeScript中验证这something
不是undefined
或null
.
这非常容易出错!当用在number
"0"上时会匹配,当在enum
第一个项目上使用时也会匹配(默认情况下,第一个项目的值为"0")!
有没有办法在TypeScript中处理这个问题?有没有办法配置TypeScript以禁止除boolean
(和any
)之外的任何内容的感叹号?这种配置是否有意义,或者我错过了一些微不足道的东西?
应该 :
if (something === null || something === undefined) {
//...
}
Run Code Online (Sandbox Code Playgroud)
相反,用来验证是否定义了某些东西?有没有办法在团队中强制执行此操作?
javascript ×9
typescript ×3
jquery ×2
null ×2
undefined ×2
angular ×1
is-empty ×1
reactjs ×1
tslint ×1
variables ×1