相关疑难解决方法(0)

如何检查Typescript中的undefined

我正在使用此代码检查未定义的变量,但它不起作用.

var  uemail = localStorage.getItem("useremail");

if (typeof uemail === "undefined")
{
    alert('undefined');
}
else
{
    alert('defined');
}
Run Code Online (Sandbox Code Playgroud)

typescript

25
推荐指数
7
解决办法
10万
查看次数

JavaScript中的null和undefined之间的区别?

根据JavaScript中null和undefined的区别是什么?,nullundefined是两个不同的对象(具有不同类型的)在Javascript.但是,当我尝试这个代码

var a=null;
var b;
alert(a==null);      // expecting true
alert(a==undefined); // expecting false
alert(b==null);      // expecting false
alert(b==undefined); // expecting true
Run Code Online (Sandbox Code Playgroud)

上面代码的输出是:

true
true
true 
true
Run Code Online (Sandbox Code Playgroud)

现在,作为==唯一匹配的价值,我想这两个undefinednull必须具有相同的价值.所以我尝试过:

alert(null) - >给 null

alert(undefined) - >给 undefined

我不明白这是怎么可能的.

这是演示.

编辑

我明白这===会给出预期的结果,因为undefinednull有不同的类型,但是在Javascript的情况下,类型转换是如何工作的==?我们可以像在Java中那样进行显式类型转换吗?我想上应用手动型转换undefinednull.

javascript

17
推荐指数
2
解决办法
4859
查看次数

为什么Lodash中的isNil方法使用null而不是undefined?

为什么isNilLodash 中的方法使用null而不是undefined

function isNil(value) {
  return value == null;
}
Run Code Online (Sandbox Code Playgroud)

javascript lodash

12
推荐指数
2
解决办法
5543
查看次数

使用 TypeScript 处理 Vue 3 中的空引用的最佳方法?

变量以空引用开始,例如它可能是以下之一:

const myString = ref();
const myString = ref('');
const myString = ref<string>();
const myString = ref<string | null>();
const myString = ref<string | null>(null);
const myString = ref<string | undefined>();
const myString = ref<string | undefined>(undefined);
const myString = ref<string | null | undefined>();
Run Code Online (Sandbox Code Playgroud)

然后它被赋予一个值:

myString.value = "I am a string";
Run Code Online (Sandbox Code Playgroud)

然后再次为ref 分配一个空值,例如它可能是以下之一:

myString.value = '';
myString.value = null;
myString.value = undefined;
Run Code Online (Sandbox Code Playgroud)

这些的哪种组合最适合在 Vue 3 中使用?

或者也许你会做别的事?

当在野外使用时,我正在寻找与 Vue 3 的最大兼容性、TypeScript 类型安全性以及没有 Eslint 错误。

typescript vue.js vuejs3

11
推荐指数
1
解决办法
6627
查看次数

MongoDB比较运算符为null

在MongoDB中,我想使用$ gt和$ lt比较运算符,其值可以为null.当运算符不使用null时,我查找了文档,但没有找到.在这两种情况下,它都没有返回任何文档(即使$ ne,$ gte和$ lte确实返回了文档;这意味着有些文档都等于且不等于null).

我希望$ gt基本上像$ ne一样运行(因为null类型的Mongo comarison命令是如此之低)和$ lt因为同样的原因没有返回任何内容.

我希望这可以工作,因为我传递给查询的值是变量(可能为null),我不想为null编写特殊情况.

鉴于以下集合,我正在考虑的示例:

{
  id: 1,
  colNum: null
}
{
  id: 2,
  colNum: 72
}
{
  id: 3
}
Run Code Online (Sandbox Code Playgroud)

我希望以下查询:

db.testtable.find( { "colNum" { $gt : null } } )
Run Code Online (Sandbox Code Playgroud)

回来:

{
  id: 2,
  colNum: 72
}
Run Code Online (Sandbox Code Playgroud)

但是,没有返回任何内容.

是否有一个原因,$ gt和$ lt似乎无法使用null,或者它是MongoDB错误,还是它实际上应该工作并且可能存在用户错误?

null spring mongodb spring-mongo

10
推荐指数
1
解决办法
2735
查看次数

Angular 6 上使用 &lt;mat-tab&gt; 时的 ExpressionChangedAfterItHasBeenCheckedError

我对 Angular 6 有以下错误

成分

<mat-tab-group [(selectedIndex)]="selectedTabIndex">
  <mat-tab label="Add">
    <ng-template matTabContent>
      <form [formGroup]="entityAddFormGroup">
        <dynamic-material-form [group]="entityAddFormGroup" [model]="entityAddFormCtlModelArray"></dynamic-material-form>
        <button (click)="buttonAddEntityClicked(entityAddFormGroup.value)">Add</button>
      </form>
    </ng-template>
  </mat-tab>
  <mat-tab *ngIf="entityEditFormGroup && currentEntity" label="Edit #{{currentEntity.id}}">
    <!-- TODO correct bug with -->
    <ng-template matTabContent>
      <form [formGroup]="entityEditFormGroup">
        <!-- <h2 i18n>Edit #{{currentEntity.id}}</h2> -->
        <dynamic-material-form [group]="entityEditFormGroup" [model]="entityEditFormCtlModelArray"></dynamic-material-form>
        <button (click)="buttonEditEntityClicked(entityEditFormGroup.value)">Save</button>
      </form>
    </ng-template>
  </mat-tab>
</mat-tab-group>
Run Code Online (Sandbox Code Playgroud)

当我删除第二个mat-tab错误消失

进入其他类似的组件,我没有把这2个表格放到一个mat-tab-groupand里mat-tab,也没有这个错误。

花了一段时间发现差异在哪里。

控制台出错

ExpressionChangedAfterItHasBeenCheckedError:检查后表达式已更改。以前的值:'ng-valid:true'。当前值:'ng-valid:false'。

环境

Angular CLI: 6.2.8
Node: 11.9.0
OS: linux x64
Angular: 
Run Code Online (Sandbox Code Playgroud)

ts 文件(导出类 ElectricityRateListComponent 扩展 SelectableEntitiesListComponent)

public displayedColumnsArray = …
Run Code Online (Sandbox Code Playgroud)

angular

10
推荐指数
1
解决办法
7477
查看次数

如何检查元素是否是没有JQuery的最后一个子元素

我有一个带有onclick事件的纯Javascript脚本,它会在决定做什么之前检查下一个兄弟的值.如果单击的元素是其容器中的最后一个元素(因为访问nextSibling),这将导致错误.我需要先检查点击的元素不是容器中的最后一个元素,但似乎无法找出方法.

注意:我不认为这是重复的.有很多关于检查元素是否是最后一个子元素的问题,但是所有已接受的答案 - 一般使用JQuery中的所有答案.

javascript

8
推荐指数
1
解决办法
6964
查看次数

为什么函数默认返回undefined而不是null?

为什么JavaScript函数undefined默认返回而不是返回null规范中这是一个完全任意的选择,还是存在一个更大的ECMAScript行为上下文,可以在其中理解这个特定选择?

function a() {}
a();
// undefined
Run Code Online (Sandbox Code Playgroud)

null和之间有什么区别undefined?是否存在基于规范的原因,为什么它undefined更适合用作默认返回值,或者是一个任意选择?

javascript function

8
推荐指数
1
解决办法
1037
查看次数

打字稿 - null和undefined有什么区别?

我想知道typescript中null和undefined的区别.我知道在javascript中可以使用它们来检查变量没有值.但是在打字稿中,我想要准确地了解它们之间的区别,以及何时更好地使用它们.谢谢.

javascript null undefined typescript

8
推荐指数
2
解决办法
1万
查看次数

为什么 javascript 有 null 和 undefined?

为什么javascript有nullundefined?它们似乎都意味着相同的事情,there's nothing here而且它们都应该是错误的。但这也意味着,例如,如果我要检查,如果事情存在,但它可能是{}[]0或其他一些falsey件事我必须检查

if(thing !== undefined && thing !== null)
Run Code Online (Sandbox Code Playgroud)

另外,我知道那typeof nullObject但是typeof {}也是Object同时typeof undefined也是"undefined"但是

const nullVariable = null;
console.log(nullVariable.x) // => error
const emptyVariable = {};
console.log(emptyVariable.x) // => undefined
const undefinedVariable;
console.log(undefinedVariable.x) // => error
Run Code Online (Sandbox Code Playgroud)

此外,undefined应该意味着尚未声明该变量,但您可以声明一个变量,如

const undefinedVariable = undefined;
Run Code Online (Sandbox Code Playgroud)

所以它已被定义但尚未被定义?

所以我要说的是虽然它们有不同的语义含义,一个表示一个尚未声明的变量,一个表示一个没有值的变量,它们似乎具有功能,但它们都是假的,试图获得一个属性形式他们会返回一个错误。

基本上我要问的是为什么我们需要两者,为什么不只使用像 pythonNone这样的语言或像 java 和 c++ 这样的低级语言Null

javascript

7
推荐指数
1
解决办法
327
查看次数