JavaScript的数据类型整理(包含ES6)

 (1)JavaScript有六种基本数据类型(数值、字符串、Boolean、undefined、null、Symbol)。一种复杂数据类型object(细分有object、array、function、date)

 (2)undefined和null类型:

        undefined的值只有一个就是undefined,当我们声明了变量未定义初始值时,就相当于赋予了变量undefined值。

let n1;
console.log(n1 === undefined);//true
console.log(typeof(n1));//undefinde

null表示为一个空指针对象(这也是给typeof传递一个null会返回对象的原因),在定义将来要保存对象的变量时,建议使用null来初始化,不要使用其他的值。这样做的好处是只要检查这个变量的值是不是null就可以知道他是不是被重新赋予了一个对象引用。这里注意 因为undefined是由null值派生而来的,所以在使用 == 运算符进行比较时候会返回 true,而用 === 运算符比较则可以返回false。

  (3)Boolean类型

            Boolean类型是JavaScript使用最频繁的类型之一,有两个字面值:tru 和 false。虽然布尔的值只有两个但是其他类型的值都有对应的布尔转换表现形式。

 let message = "Hello World";
 console.log(Boolean(message));//true

 下面进行了一个整理

                    数据类型       转换为 true 的值                      转换为 false 的值

                    Boolean             true                                               false

                    String            非空字符串                                    ""(空字符串)

                    Number        非零数值(4包括无穷值)                0、NaN

                    Object            任意对象                                             null

                    Undefined      N/A(不存在)                              undefined

     

 (4)Number类型

            JavaScript里不会区分整数和浮点数,统一用Number表示。

            计算机由于使用二进制,所以,有时候用十六进制表示整数比较方便,十六进制用0x前缀和0-9,a-f表示,例如:0xff00,0xa5b4c3d2,等等,它们和十进制表示的数值完全一样。

            Number可以直接做四则运算,规则和数学一致。

            以下都是合法的number初始化

                 123;//整数

                1.2;//浮点数

                12345e3;//科学计数法等同于1.2345*1000

                -99;//复数

                NaN;/意思是“不是数值”,当无法计算结果时候表示为NaN

                Infinity; // Infinity表示无限大,当数值超过了JavaScript的Number所能表示的最大值时,就表示为Infinity

   数值转换:

                有三个函数可以提供给我们将非数值类型的值转换为数字类型,parseInt()、Number()、parseFloat()。

                例:

      let num1 = Number(undefined); //NaN

      let num2 = Number(null);//0

      let num3 = Number("hello world");//NaN

      let num4 = Number(true);//1

      let num5 = Number({name:"林"})//NaN

      console.log(num1,num2,num3,num4,num5);

(5)对象

        JavaScript对象是由一组 健-值组成的无序集合,键值对之间用,分隔(最后一组键值对可以不加,)。在编写代码的时候属性名尽量用标准的变量名,便于我们直接通过对象名.属性名来访问我们的属性值。所有属性对应的都是字符串,而值可以是任意数据类型。如果访问一个不存在的属性会返回undefined。

const person = {

             name:"张三",

             age:20,

             city:"福州"

            }

     我们也可以自由的通过 对象名.属性 给对象动态赋值属性       

  const person = {

            name:"张三"

        }

  person.age = 20;//动态添加属性age

  console.log(person);//[object Object]: {age: 20, name: "张三"}

        所有的对象顺着原型链继承都具有object(基类)上的属性和方法。

       (6)Symbol

        ES6 引入了一种新的原始数据类型 Symbol,表示独一无二的值。它是
JavaScript 语言的第七种数据类型。

        Symbol有以下这些特点:

    1. Symbol 的值是唯一的,用来解决命名冲突的问题,即使参数相同。

    2.Symbol 值不能与其他数

    3.Symbol 定义的对象属性不参与 for…in/of 遍历,但是可以使用进行运算。

    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值