js基本数据类型与复杂数据类型

JavaScript基本数据类型

三种常见的基本数据类型 数值,字符串,布尔型;

let num = 123 // 数值  Number
let str = "张三" // 字符串  String
let bool = true // 布尔值 Boolean

特殊的数值:typeof(NaN) // Number
NaN:用于引用特殊的非数字值。无法使用 for/in 循环来枚举 NaN 属性,也不能用 delete 运算符来删除它。NaN 不是常量,可以把它设置为其他值。并且无论怎么计算所得到的指都是NaN。其有一个方法可以判断一个值是否是数字。

isNaN("213131") // false 为数值
isNaN("adsda") // true 不为数值
isNaN(NaN) // true 此处NaN不为数值,特殊

比较特殊的基本数据类型
undefined:当我们在声明一个变量时,未给其赋值就会是undefined类型如此:var a;
symbol:在es6时引入表示独一无二的值,最大的用法是用来定义对象的唯一属性名。下面相信说明一下symbol的用法。

let sy = Symbol("KK");
console.log(sy);   // Symbol(KK)
typeof(sy);        // "symbol"
let sy2 = Symbol("KK");
console.log(sy2);   // Symbol(KK)
typeof(sy2);        // "symbol"
sy == sy2 //false
sy === sy2 //false

由此可以看出哪怕是一模一样的symbol声明他们也是不同的。这样就可以保证我们的属性可以重复名并且独一无二,此种用法常用于对象中。

JavaScript复杂数据类型

数组,方法,对象都可是Object
Function 特殊的对象
对象主要讲究的就是键值对 key=>value
数组:Array属于Object let a = [] ;typeof(a) // "object" 索引为键,对应值
集合:es6 Set 存入不重复的值 键是值本身。
对象:let o = { "key":"value" }
在复杂类型中存在着原型链关系https://blog.csdn.net/qq_42356790/article/details/118177240

let o = { "key":"value" }
let c = Object.create(o) // {}
c.key // "val"
c.__proto__ === o // true
Object.getPrototypeOf(c) === o // true 
//该Object.getPrototypeOf()方法返回[[Prototype]]指定对象的原型(即内部属性的值)。
o.hasOwnProperty("key") // true 判断该对象是否存在该属性值
c.hasOwnProperty("key") // fales 只能判断该对象,无法判断到此对象的原型对象上
Object.defineProperty(o,"p",{value:"m"}) //直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回此对象。
//defineProperty其他属性值 
//configurable:当且仅当该属性的 configurable 键值为 true 时,该属性的描述符才能够被改变,同时该属性也能从对应的对象上被删除。默认为 false。
//enumerable:当且仅当该属性的 enumerable 键值为 true 时,该属性才会出现在对象的枚举属性中。默认为 false。
//writable:当且仅当该属性的 writable 键值为 true 时,属性的值,也就是上面的 value,才能被赋值运算符改变。默认为 false。

特殊的存在NULL

null:表示空对象的意思,与undefined类型相似,不过这个是在声明复杂类型时,暂时未给定指向指针时,使用 var b = null,可以说它是复杂数据类型属于对象,不过在部分判断中它并不会判断为对象,所以比较迷糊,像是是个bug一样的存在。
NULL
所以你只需要把null当作一个不存在的事物吧!!!
你关心你自己。
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

feng_初学者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值