美文网首页优美编程
undefined 和 null的区别

undefined 和 null的区别

作者: 小遁哥 | 来源:发表于2019-02-15 14:27 被阅读1次

null 比undefined更安全,在实际应用中,两者的语义上面意义大于逻辑上的意义,这两个家伙很有用,为变量本身提供了两个状态。

0

想要理解undefined,先要理解null,null好比桌子上有一个水杯,但是水杯里没有水,而undefined表示空的水杯被拿走了。

然后反过来想,桌子上什么都没有,放了水杯,再放水杯里加水,可以表示一个周期。

所以在初始化一个变量时,赋值为null可读性更好。

考虑下面的需求,如果一条数据没有,则显示暂无数据,否则展示数据。

模板如下

<template>
  <div id="test-vue-id">
    <template v-if="list.length > 0">
      <div v-for="(item,index) in list" :key="index">{{index}}</div>
    </template>
    <div v-else>暂无数据</div>
  </div>
</template>
<script>
export default {
  name: "test_vue",

  data() {
    return {
      list: []
    };
  },
  mounted() {
    setTimeout(() => {
      this.list = [1, 2, 34];
    }, 1000);
  }
};
</script>

会先显示暂无数据,再显示内容,如果将list初始为null,加上相应的逻辑判端就好了。

  <template v-if="list &&list.length > 0">
    <div v-for="(item,index) in list" :key="index">{{index}}</div>
  </template>
  <div v-if="list && list.length === 0">暂无数据</div>

1

undefined == null //true
undefined === null // false

上面两个表达式是语言层次的定义,前者表示JS允许在一些情况将两者等同处理,后者则是为了更严格的区分。

 console.log(JSON.stringify(null)); //字符串 null
  console.log(JSON.stringify(undefined)); // undefined
  console.log(JSON.parse(null)); //null
  console.log(JSON.parse("null")); //null
  // console.log(JSON.parse(undefined));//报错
  console.log(JSON.stringify([1, undefined, null])); //[1,null,null]
  console.log([1, null, undefined].join()); //1,,

相关文章

  • 你所不知道的 JavaScript

    null 和 undefined 的区别 null和undefined的区别,两者值是相等的unll==undef...

  • TypeScript 基础语法

    1、void 与 undefined和 null 与 void的区别是,undefined 和 null是所有类...

  • JavaScript中null和undefined的区别

    JavaScript 中null和undefined的区别 typeof操作符 在区分null和undefined...

  • js基础知识

    [TOC] null和undefined区别 例子 对于null和undefined,大致可以像下面这样理解。 n...

  • 知识点杂谈

    1.js中null和undefined的区别 在js中null和undefined都表示空,但它们还是存在一定区别...

  • 02-相关问题

    undefined 与 null 的区别? undefined :代表定义未赋值 null :null 定义并赋值...

  • 【IMWeb秋招训练营】【Day4】面试题总结

    经典面试题 13.null和undefined的区别? undefined判断的是变量的类型,null和NaN判断...

  • 第三章 基本概念

    undefined和null的区别 undefined 是声明后没有赋值的结果,表示没有值 null 是有值,它的...

  • null和undefined

    null和undefined的区别 undefined 是已经申明了。未赋值。 typeof undefine...

  • null和undefined区别

    1.null是一个表示无的对象,转化为数值为0undefined是一个表示‘无’的原始值,转化为数值为NaN2.当...

网友评论

    本文标题:undefined 和 null的区别

    本文链接:https://www.haomeiwen.com/subject/jnvpeqtx.html