当前位置:   article > 正文

JavaScript null、undefined 与 undeclared 的区别?_javascript undeclared

javascript undeclared

undefined 与 null 的区别 ?

undefined 表示还未定义值,所以当一个变数被宣告但还未被赋予任何值之前,这个变数就会是 undefined,可以理解为「尚未」。

null 代表的是一个变数的空值,可以理解为「没有」

undefined 和null 在 JavaScript 中,都是属于原始资料类型(primitive data types) 之一,也就像任何其他资料类别(data types),例如:stringnumber一样,可以被赋予在变数上。两者在使用上,两者会有不同的意义。

举例来说,当前端要向后端索取资料时,因为需要等待资料回传,所以某个变数一开始可能是 undefined ,当资料回来时,就会变成该资料型态。以下面的例子来说,我们有个变数 users ,定义它的型别为

UserDTO[] | undefined

而不是

UserDTO[] | null

正是因为在拿到资料前, users 是「尚未」。

  1. type UserDTO = {
  2. id: string,
  3. firstName: string,
  4. lastName: string,
  5. profilePicture: string | null,
  6. };
  7. const users: UserDTO[] | undefined = await fetchUsers();

反之亦然,上面的例子中,当拿到了 users ,有些使用者没有大头照,因为是「没有」,所以 profilePicture 的型别是

profilePicture: string | null;

而不是

profilePicture: string | undefined;

undefined 与 undeclared 的区别 ?

undeclared 常会拿来 undefined 做比较,undefined 表示已宣告值是「未定义」,但 undeclared 是指从未被宣告过

当一个变数并没有使用 var 、let 或 const 宣告过时,若我们试图呼叫此变数时,会报 ReferenceError的错误。因此在写程式时,要避免使用 undeclared 的变数。

console.log(x); // Uncaught ReferenceError: x is not defined
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/137728
推荐阅读
相关标签
  

闽ICP备14008679号