JavaScript的七种数据类型

这篇具有很好参考价值的文章主要介绍了JavaScript的七种数据类型。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在我们的javascript中,每个数据都有不一样的类型,它们被简称为数据类型。

1. 数据类型简介

javaScript一共有七种数据类型,它们又被分为两类(基本数据类型和引用数据类型),其结构如下。

基本数据类型:

⭐数值型(number)
⭐字符串型(string)
⭐布尔型(boolean)
⭐未定义(undefined)
⭐空(null)
⭐符号型(symbol)

引用数据类型

⭐对象(Object)
注:数组(Array)、函数(Function),还有两个特殊的对象:正则(RegExp)和日期(Date)不是数据类型,它们都属于对象 Object 。

1.1 基本数据类型

1.1.1 数值型(number)

在JavaScript中如果希望某个变量包含一个数值,仅须使用统一的数值型,而不需要像在其他语言中那样分为各种长度的整数以及浮点数类型。
1、在JavaScript 中数字可以带小数点,也可以不带。

		let num1 = 34.00; //使用小数点来写
		let num2 = 34;    //不使用小数点来写

2、在数值型中有这几种属性。

js数据类型,JS笔记,javascript,前端

3、数值型也可以转化为字符串型,我们通过 typeof 来检测数据类型。


		let a = 9;
        let b = a + ''; //拼接一个空字符串
        let c = a.toString(); //使用toString( )方法
        let d = 'student' + a; //拼接一个带参数的字符串
        console.log(`a: ${typeof (a)}`);
        console.log(`b: ${typeof (b)}`);
        console.log(`c: ${typeof (c)}`);
        console.log(`d: ${typeof (d)}`);      

以上代码的输出结果如下,从中可以清楚的看到a、b、c、d这四个变量的数据类型。
js数据类型,JS笔记,javascript,前端

1.1.2 字符串型(string)

字符串是存储字符(比如 “Bill Gates”)的变量。
字符串由零个或者多个字符构成,字符包括字母、数字、标点符号和空格等。
1、字符串必须由单引号或者双引号标注。

		let str1 = 'Javascript'; \\使用单引号
		let str2 = "Javascript"; \\使用双引号

2、引号不能嵌套,双引号不能放双引号,单引号不能放单引号。
3、在实际开发中,我们经常会遇到最终需要的字符串是由若干部分拼接而成的情况。
传统的方法使用“+"拼接略显麻烦,所以ES6中引入了一个新的方法”模板字符串“。

		let num = '张三'
		let age = 10
		let str = `I am ${name},I am ${age} years old`
		//${}里面写上可变化的值

4、字符串具有length长度,它可以返回字符串中字符的个数,例如:

		let str = 'hello world'
		console.log(str.length);//空格也算一个长度。

输出结果:

js数据类型,JS笔记,javascript,前端
5、如果需要从某个字符串中取出一段子字符串,则可以采用slice( )substring( )substr( ) 方法。
5.1 slice( )substring( ) 方法
slice( )和substring( )都可以接收两个参数,分别表示子字符串的起始位置和终止位置,并返回二者之间的子字符串,但不包括终止位置的那个字符。
如果第二个参数不设置,则默认到字符串的末尾,即返回起始位置到字符串末尾的子字符串。
代码示例:

 		let str = 'hello world'
        console.log(str.slice(1,3))
        console.log(str.substring(1,3))
        console.log(str.slice(1))
        console.log(str.substring(1))
        console.log(str)//不会改变原始的字符串

js数据类型,JS笔记,javascript,前端
slice( )substring( ) 这两个方法的区别主要是对负数的处理,负数参数对于slice( ) 而言是从字符串的末尾往前计数的。
而substring( )则会直接将负数作为0来处理,并将两个参数中较小的值作为起始位置,较大的值作为终止位置。
代码示例:

		let str = 'hello world'
        console.log(str.slice(1,-3))
        console.log(str.substring(1,-3))
        console.log(str.substring(1,0))
        console.log(str)

js数据类型,JS笔记,javascript,前端
5.1substr( ) 方法
对于substr( ) 方法,两个参数分别表示起始字符串的位置和子字符串的的长度。

 		let str = 'hello world'
        console.log(str.substr(0,3))

js数据类型,JS笔记,javascript,前端

6、 字符串的搜索

对于字符串JavaScript提供了indexOf( )lastIndex( ) 两种搜索方法。
它们的不同之处在于前者从前往后搜索,后者从后往前搜索,返回值都是子字符串的起始位置(位置都是由前往后从0开始计数),如果找不到则返回-1。

        let str = 'hello world'
        console.log(str.indexOf('l'))//从前往后
        console.log(str.indexOf('l',2))//可选参数,从第几个字符开始往后找
        console.log(str.lastIndexOf('l'))//从后往前
        console.log(str.lastIndexOf('l',2))//可选参数,从第几个字符开始往前找
        console.log(str.lastIndexOf('s'))//找不到返回-1

js数据类型,JS笔记,javascript,前端
7、字符串型转化为数值型
JavaScript提供了两种非常方便的方法,分别是parseInt( )parseFloat( ),前者将字符串转化为整数,后者转化为浮点数。
在判断字符串是否是数值字符之前,parseInt( )和parseFloat( )会仔细分析该字符串索引为0的字符是否为数值字符,如果不是则直接返回NAN。

1.1.3 布尔型(boolean)

在JavaScript中同样有布尔型
1、它只有两个可取的值:true、false,主要用来逻辑判断
2、true:表示真, false:表示假
3、使用typeof检验一个布尔值时,会返回一个boolean
4、js中哪些值会被认为false?
null、undefined、空字符串 即 “”、数字 0、数字 NaN,会被当作false,其余都是真。
注:字符串 “false” 也会被当作真。

1.1.4 未定义(undefined)

1、Undefined类型的值只有一个,就是Undefined(未定义)
2、当声明一个变量,但不给这个变量赋值时,它的值就是Undefined
3、使用typeof检查Undefined值时,也会返回一个Undefined

		let str;
        console.log(typeof(str));

js数据类型,JS笔记,javascript,前端

1.1.5 空(null)

1、Null的值只有一个,就是null(空值)
2、null的这个值专门用来表示一个为空的对象
3、使用typeof检测一个null值时,会返回一个object(对象)

		let str = null
        console.log(typeof(str));

js数据类型,JS笔记,javascript,前端

1.1.6 符号型(symbol)

1、Symbol的作用
用来表示一个独一无二的值

2、Symbol 值通过Symbol函数生成。不能用new运算符创建

		let x = Symbol() 

括号里面可以接收一个字符串参数,作为该实例的描述,主要是为了在控制台显示,或者转为字符串时,比较容易区分

		let x = Symbol('fo') 
		x // Symbol(fo)
		x.toString() // "Symbol(fo)"

js数据类型,JS笔记,javascript,前端
3、Symbol()返回值是唯一的,也就是,即使描述相同,他们也是独立的两个值。

		 let x = Symbol('张三') === Symbol('张三')
		 console.log(x);

js数据类型,JS笔记,javascript,前端
4、Symbol值不可以和其他类型的值进行运算,可以显示转换为字符串或者布尔值。

		 let sym = Symbol('My symbol');
		 console.log(sym);
		 console.log(String(sym));
		 console.log(sym.toString());
		 console.log(Boolean(sym));
		 console.log(Boolean(!sym));

js数据类型,JS笔记,javascript,前端
5、一些属性和方法
读取Symbol的描述description

		let sym = Symbol('My symbol');
		console.log(sym.description);

js数据类型,JS笔记,javascript,前端

1.2 引用数据类型

1.2.1 object(对象)

1、什么是对象

英文名object,翻译成中文就是对象。用英语的角度来说object就是物体实体,即使他看不见摸不着。
可以理解为万物皆对象,没有对象new一个新对象。

2、属性名和属性值

属性名:就是用来描述某种特征或者特点的名字,(又被称作键,key)
属性值:就是这个特征的具体值(又被称作值,value)

let obj={
      属性名1:属性值,
      属性名2:属性值
       ......
}

let obj={
   "name":"张三",
   "age":20
  
}

3、属性值的获取
对象的属性名一般都是字符串格式(还可以是数字格式),属性值可以是任意类型数据
● 对象.属性名;
● 对象[‘属性名’];

let obj={
   "name":"张三",
   "age":20
}

console.log(obj.name);
console.log(obj["name"])

js数据类型,JS笔记,javascript,前端

4、增和改

对象的属性名(键)是不允许重复的,之前没有这个属性则为新增,之前有这个属性,则是修改对应的属性值。
如果原来的对象中没有那个属性名,就是新增,如果有就是修改

let obj={
   "name":"张三",
   "age":20
}
obj.name = "李四"
obj.gender = "男"
console.log(obj);


js数据类型,JS笔记,javascript,前端
5、删除
彻底删除 delete 对象[“属性名”]

 let obj = {
            "name": "张三",
            "age": 20
        }
        console.log(obj);
        console.log('删除之后');
        delete obj["name"]
        console.log(obj);

js数据类型,JS笔记,javascript,前端
不删除只让对象中的属性值为空, obj[“属性名”]=null;

let obj = {
            "name": "张三",
            "age": 20
        }
        console.log(obj);
        console.log('赋值null后');
        obj.name = null
        console.log(obj);

js数据类型,JS笔记,javascript,前端
6、对象的返回值是唯一的,也就是,即使描述相同,他们也是独立的两个值,这和上面的symbol是一样的。

 let obj1 = {
            age: 18
        };
        let obj2 = {
            age: 18
        };
        let obj3 = obj1;
        console.log(obj1 === obj2); 
        console.log(obj1 === obj3); 

js数据类型,JS笔记,javascript,前端

在对象中JS通过引用或存储变量的内存中的地址对它们进行比较。
obj1obj2是两个不同的对象,它们指向两个不同的内存地址。因此,在进行相等性比较时,尽管看起来它们的内容相同,但是运算后返回的是false。
因为obj3变量被赋值为obj1,所以obj1obj3指向的内存地址相同,进而在比较相等性时认为二者是相同的。文章来源地址https://www.toymoban.com/news/detail-609212.html

到了这里,关于JavaScript的七种数据类型的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [javascript核心-09] 彻底解决js中的类型检测方案

    typeof 基于数据类型的值(二进制)进行检测 返回结果为字符串 typeof NaN 结果为 number typeof null 结果为 Object .对象存储以 000 开头,而 null 也是如此。 typeof 不能细分对象,结果都是 Object typeof function(){} 结果为 function instanceof 检测某个构造函数是否出现在某实例的原型链上 返回结

    2024年02月16日
    浏览(39)
  • 【Anime.js】——JavaScript动画库:Anime.js——学习笔记

    目录 一、搭建开发环境  二、基本功能和使用 开始制作动画 动画属性 三、anime.stagger——交错动画 四、timeline——时间轴  五、控制、回调与助手 一、控制  二、回调 三、助手 六、easings——动画运动曲线 七、SVG动画 官网定义: anime.js 是一个简便的JS动画库,用法简单而

    2024年02月01日
    浏览(32)
  • HTML+CSS+JS 学习笔记(三)———Javascript(中)

    🌱博客主页:大寄一场. 🌱系列专栏:前端 🌱往期回顾:HTML+CSS+JS 学习笔记(三)———Javascript(上) 😘博客制作不易欢迎各位👍点赞+⭐收藏+➕关注 目录  JavaScript中的函数 函数的定义和调用 函数的定义  函数的调用 嵌套函数  递归函数  变量的作用域 全局变量和局部

    2024年02月06日
    浏览(55)
  • 【JS笔记】JavaScript语法 《基础+重点》 知识内容,快速上手(四)

    BOM(Browser Object Model): 浏览器对象模型 其实就是操作浏览器的一些能力 我们可以操作哪些内容 获取一些浏览器的相关信息(窗口的大小) 操作浏览器进行页面跳转 获取当前浏览器地址栏的信息 操作浏览器的滚动条 浏览器的信息(浏览器的版本) 让浏览器出现一个弹出

    2024年01月18日
    浏览(38)
  • js(JavaScript)数据结构之图(Graph)

    下面是维基百科的解释: 数据结构是计算机存储、组织数据的方式。数据结构意味着接口或封装:一个数据结构可被视为两个函数之间的接口,或者是由数据类型联合组成的存储内容的访问方法封装。 我们每天的编码中都会用到数据结构,下面是常见的数据结构: 数组(

    2024年01月17日
    浏览(33)
  • 使用JavaScript和XLSX.js将数据导出为Excel文件

    导出数据是Web应用程序中常见的功能之一。在许多情况下,我们需要将数据导出为Excel文件,以便用户可以在本地计算机上查看和编辑数据。在本篇博客中,我们将介绍如何使用JavaScript和XLSX.js将数据导出为Excel文件。 XLSX.js是一个JavaScript库,它提供了一组API,可以将数据转换

    2024年04月26日
    浏览(25)
  • JS基础-初识JavaScript

    前面讲了前端开发必备的三种语言。其中的HTML、CSS我们基本上有了比较正确的认识。这里讲一下JavaScript。 语言 功能 结构层 HTML 搭建结构、放置部件、描述定义 样式层 CSS 美化页面、实现布局 行为层 JavaScript 实现交互效果、数据收发、表单验证 HTML构成了基础的骨架。 CSS

    2024年02月10日
    浏览(30)
  • JavaScript(JS基础)

    提示:JS的重点是让静态的页面产生一些变化 提示:JavaScript是弱类型语言,行尾分号可写可不写 首先看下Java 与 JavaScript什么关系 JS编写在 script (脚本)标记中, script 标记可以出现在html中的任意位置,也就是说JS代码可以嵌入在HTML中任意部分,从上到下依次执行 script引入外

    2024年02月11日
    浏览(37)
  • JavaScript深拷贝(js深拷贝,JavaScript递归函数,实现深拷贝)

    简述:JavaScript的深拷贝和浅拷贝大家都比较熟悉,今天来分享下深拷贝,就是使用该函数时,会复制拷贝一份该数据,修改该数据属性,不会改变原有数据,就是把复制的对象所引用的对象全都复制了一遍,具体实现如下; 1、定义拷贝对象; 2、定义递归函数deepClone(),实现

    2024年02月15日
    浏览(46)
  • JavaScript基础——1.js基础语法

    js全称JavaScript,是一种轻量级的面向对象的 编程语言 ,既能用在浏览器中控制页面交互,也能用在服务器端作为网站后台(借助 Node.js),因此 JavaScript 是一种全栈式的编程语言。 JavaScript 与 HTML 和 CSS 共同构成了我们所看到的网页,其中: HTML 用来定义网页的内容,例如标

    2024年04月28日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包