一、JS 基础知识之基础语法(5)--- 数据类型

26 阅读3分钟

JS 数据类型 分为两大类:

image.png

1. number 数字型

数字类型就是我们在数学中学到的整数、正数、负数、小数,在 JS 中,将正数、负数、小数统称为 数字类型

JS 是 弱数据类型 ,意思是变量到底属于哪一种数据类型,赋值之后才能确认

  <body>
    <script>
      let num1 = 10 // 正数
      let num2 = -20 // 负数
      let num3 = 5.6 // 小数
    </script>
  </body>

2. string 字符型

通过 双引号(“”)单引号(‘’)反引号(`) 包裹的数据都是字符串,虽然单引号和双引号在本质上没有什么区别,但还是推荐使用单引号,无论使用哪一种引号,都必须是 成对使用

  <body>
    <script>
      let name = "张三"  // 双引号
      let habit = '篮球' // 单引号
      let  str1 = '' // 空字符串
      let str2 = '789' // 也是字符串,因为用单引号包裹了
    </script>
  </body>

有时会有 引号嵌套 的情况,但是不能自己嵌套自己,以下是错误情况:

  <body>
    <script>
     console.log("引号"嵌套"")
    </script>
  </body>

这里有两种方式可以实现单引号与双引号互相嵌套:

  • 单双交叉:如果外层使用单引号,那么里面就要使用双引号,反之亦然
  <body>
    <script>
     console.log("引号'嵌套'") // 外双里单

     console.log('引号"嵌套"') // 外单里双
    </script>
  </body>
  • 使用转义符 "\" 输出单引号或双引号
  <body>
    <script>
     console.log('引号\'嵌套\'') 
    </script>
  </body>

image.png

字符串还可以拼接:

  <body>
    <script>
      console.log('字符串' + '拼接')

      let name = '张三'
      let job = '学生'
      console.log(name + '是一名' + job)
    </script>
  </body>

image.png

3. 模板字符串

模板字符串 也是一种字符串的拼接方式,也可以拼接字符串和变量,使用上例中的方式拼接字符串与变量比较麻烦,书写不便

模板字符串的 符号 就是之前说的 反引号 ,在英文模式下,按 ESC 键下面的按键就可以出现,在拼接字符串与变量时,变量需要用 ${} 包裹住

  <body>
    <script>
   
      let name = '张三'
      let job = '学生'
      console.log(`${name}是一名${job}`)

    </script>
  </body>

image.png

模板字符串还可以解析 HTML 元素,在浏览器界面输出:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <style>
      span {
        font-size: 28px;
        color: coral;
      }
    </style>
  </head>
  <body>
    <script>
      let name = '张三'
      let job = '学生'
      document.write(`${name}是一名<span>${job}</span>`)
    </script>
  </body>
</html>

image.png

4. boolean 布尔型

布尔类型 的数据在计算机中表示的是 肯定否定 ,它有两个固定的值 truefalse ,前者表示 ,后者表示

  <body>
    <script>
      let isActive = false
      isActive = true
    </script>
  </body>

5. undefined 未定义类型

未定义类型 是一个比较特殊的类型,它只有一个值 undefined ,在声明变量后,不给它进行赋值的情况下,该变量的默认值就是 undefined 。

一般情况下,不会直接为某个变量直接赋值 undefined

  <body>
    <script>
      let name // 声明变量,未赋初始值
      document.write(name)
    </script>
  </body>

image.png

在开发中,经常会声明变量来接收传递过来的数据,当我们不知道这个数据是否传递过来时,可以通过检测该变量是否为 undefined 来判断接口是否有数据传递过来。

image.png

6. null 空类型

null 表示 值为空 ,我们可以把还没有创建好的对象,赋值 null

  <body>
    <script>
     let obj = null
     console.log(obj);
    </script>
  </body>

image.png

null 和 undefined 区别:

image.png

检测数据类型

console.log() 控制台输出语句经常用来检测输出结果,在控制台输出的结果中:数字型和布尔型为蓝色,字符串为黑色,undefined 和 null 为灰色

  <body>
    <script>
      let str = '张三'
      let num = 123
      let bool = true
      let und
      let age = null

      console.log(str)
      console.log(num)
      console.log(bool)
      console.log(und)
      console.log(age)
    </script>
  </body>

image.png

可以通过 typeof 关键字检测数据类型

  <body>
    <script>
      let str = '张三'
      let num = 123
      let bool = true
      let und
      let age = null

      console.log(typeof str)
      console.log(typeof num)
      console.log(typeof bool)
      console.log(typeof und)
      console.log(typeof age)
    </script>
  </body>

image.png