网站首页 > 技术文章 正文
数据类型
在 JavaScript 中定义变量的时候使用的是 let/var,例如:
let num = 18
let str = '18'
这两种方式定义的变量有什么区别呢?这里定义的两个变量 num 和 str 的数据类型不同。例如:描述年龄和工资通过数字来描述,注册某个网站的时候使用的账号和昵称可以是英文字母的组合。不同的数据是由不同的类型来描述的。
下面我们就开始学习 JavaScript 中的数据类型。
JavaScript 中的数据类型可以分为两大类:基本数据类型、复杂数据类型。
- 简单数据类型
- Number
- String
- Boolean
- null
- undefined
- BigInt - 新增
- Symbol - 新增
- 复杂数据类型
- Object
简单数据类型
简单数据类型又叫基本数据类型、原始数据类型(MDN)。
这里我们先来学习简单数据类型中的前5种。
Number 类型
在 JavaScript 中整数(5, 6, 10)和浮点数(11.5, 1.1)都属于 Number 类型,也就是所有的数值类型都是 Number 类型。
- 数值字面量
- 数值的固定值表示法
- 通俗点说就是用字面的形式来代表这种类型的数据
- 110、1024、60.5
- 数值判断
- NaN:not a number,JavaScript 中一个特殊的值,即非数字
- isNaN:is not a number,JavaScript 中的一个方法用来判断一个值是否不是数字
- 示例
// 返回 NaN,不是一个数字
let n = 5 * 'a';
// 返回 false,即不管带不带引号都是一个数字
isNaN('5');
isNaN(5);
// 返回 true,不是一个数字
isNaN('a');
注意:在控制台中打印的数值类型的值是有颜色的。
String 类型
- 把多个字符组成一串,就是一个字符串。
- 字符串字面量:字面形式来代表字符串数据
- '程序猿',"程序媛"
- 定义字符串的时候用单引号和双引号都可以
let userName = 'jiaoshou';
let nickName = "教瘦";
在定义字符串的时候我们推荐使用单引号,这是因为 HTML 中属性值使用双引号包裹,有的时候 HTML 和 JavaScript 可能会嵌套书写,为了区分 HTML 的属性和 JavaScript 中的字符串,所以这里始终推荐字符串使用单引号。
- 转义符
你尝试打印 '教瘦',注意打印的结果中要包含单引号。实现不了吧?这是因为引号在 JavaScript 中有特殊的含义,如果我们想要打印引号的话,可以取消引号在 JavaScript 中的特殊含义
let userName = '\'教瘦\'';
console.log(userName);
\ 在这里的作用是取消后面修饰符号的特殊含义,类似的内容,见下表:
Boolean 类型
布尔类型是一种专门为了编程设置的一种语法,主要用来表示一个结果的成立与否,其值只有两个 true (真) 和 false (假)。
- Boolean 字面量: true 和 false,区分大小写
- 计算机内部存储:true 为1,false 为0
undefined 类型
undefined 类型只有一个值:undefined。代表变量定义了,但是没有赋值。
var a;
// 输出 undefined
console.log(a);
// or
let b;
// 输出 undefined
console.log(b);
null 类型
null 类型只有一个值:null。代表变量赋值了,但是值代表的是空。
var a = null;
let b = null;
// 变量a和b都赋值了,值为 null
复杂数据类型
复杂数据类型:Object。因为比较复杂所以后面专门学习。
获取变量的类型
在 JavaScript 中定义变量的时候是通过 var/let 定义的变量,也就是在定义变量的时候没有确定数据的类型。
let a = 10;
a = 'abc';
甚至在代码执行的过程中可以对变量重新赋值不同的类型(这样是不推荐的,我们希望同一个变量中的数据是同一数据类型的)。
我们如果想要知道某个变量中存储的数据类型,可以通过关键字 typeof 来获取。
用法:
typeof 字面量/变量
typeof (字面量/变量)
注意:typeof 是关键字。
let a = 10;
console.log(typeof a); // number
console.log(typeof 'Hello'); // string
console.log(typeof true); // boolean
console.log(typeof undefined); // undefined
console.log(typeof null); // object
注意:typeof 返回的结果是字符串类型。
快速查看数据类型
如何使用谷歌浏览器,快速地查看数据类型?
在控制台通过 console.log() 打印数据,字符串的颜色是黑色的,数值类型是蓝色的,布尔类型也是紫色的,undefined 和 null 是灰色的(如果看到黑色的说明是字符串)
注释
其实学习任何一门语言之前,最应该先学习的语法就是注释语法,这样我们就可以在代码中写一些说明和笔记之类的 JavaScript 里面的注释有两种:单行注释、多行注释。
单行注释
- 用来描述下面一个或多行代码的作用
- VSCode 中的快捷键:Ctrl + /
// 这是一个变量
let nickName = 'js';
多行注释
- 用来注释多条代码
- VSCode 中的快捷键:Shift+ Alt + A
/*
var age = 18;
var name = 'zs';
console.log(name, age);
*/
猜你喜欢
- 2024-11-26 深入学习下 null 和 undefined 区别
- 2024-11-26 Javascript ES6新引入的类型Symbol详解以及示例
- 2024-11-26 深入浅出讲解JS中this/apply/call/bind巧妙用法【实践】
- 2024-11-26 一个菜鸟的攻坚系列——__proto__和prototype
- 2024-11-26 NaN你都未必懂,花五分钟让你懂得不能再懂
- 2024-11-26 理解JavaScript中的This,Bind,Call和Apply
- 2024-11-26 Javascript应用-基本类型和引用类型对前端的影响你要了解
- 2024-11-26 深入探究:null 和 undefined 究竟有何区别?
- 2024-11-26 Js基础1:基本概念
- 2024-11-26 js回忆录(4)——对象,构造函数
- 标签列表
-
- content-disposition (47)
- nth-child (56)
- math.pow (44)
- 原型和原型链 (63)
- canvas mdn (36)
- css @media (49)
- promise mdn (39)
- readasdataurl (52)
- if-modified-since (49)
- css ::after (50)
- border-image-slice (40)
- flex mdn (37)
- .join (41)
- function.apply (60)
- input type number (64)
- weakmap (62)
- js arguments (45)
- js delete方法 (61)
- blob type (44)
- math.max.apply (51)
- js (44)
- firefox 3 (47)
- cssbox-sizing (52)
- js删除 (49)
- js for continue (56)
- 最新留言
-