Object/Function/Boolean/Symbol/Map-mdn

JS标准-内置对象基本对象

Object

创建对象Object.assign

  • Object.assign(obj1,obj2…)
    • 说明:将obj1复制到obj2…重属性名的被后面的覆盖;
    • 作用:对象的浅拷贝

转数组Object.keys

  • Object.keys(obj)
    • 说明: 将属性名转数组
  • Object.values(obj)
    • 将属性值转数组
      常用于判断是否有error,如果满足条件给对象添加属性值,最后判断Object.values(resultObj)后的length是否>0;则提示错误

比较Object.is

  • Object.is(val1,val2)
    • 说明:判断两个值是否为同一个值。大部分情况等同于‘===’
    • 特殊情况
    • Object(+0,-0)返回false,因为在存储上两个值的符号位不同
    • Object.is(NaN,NaN)返回ture,NaN === NaN返回false

与Map类型的转换

// Map转对象?
let map = new Map([['a','one'],['b','two'],['c','three']]);
//希望得到{a: 'one',b: 'two', c: 'three'} 怎么做?
// Object.fromEntries是Object.entries的逆操作
let obj = Object.fromEntries(map);
//对象怎么转为Map? 
//Object.entries对象转换为键值对数组
let obj = {a: 'one',b: 'two', c: 'three'};
let map = new Map(Object.entries(obj));

Function

函数调用相关:cal,apply,bind

  • Function.prototype.apply() 调用函数,指定this,参数为数组
    var arr = [3,6,3,7,10]; Math.max.apply(this,arr);
  • Function.prototype.bind() 绑定this,返回原函数,参数为列表
  • Function.prototype.call() 调用函数,参数为列表

Boolean

  • 是一个函数
  • 常用: Array.filter(Boolean)
//移除所有的 ”false“ 类型元素 (false, null, undefined, 0, NaN or an empty string):
b = a.filter(Boolean);
//等价于
b = a.filter(x => return Boolean(x))
Array.isArray(arr) ? arr.filter(Boolean) : []

Symbol

  • 描述:
    • symbol基本数据类型
    • Symbol创建唯一的属性名
  • 方法
    • Symbol.for()
      从全局注册表设置和获取symbol

Map对象

描述:
- 用来保存键值对的集合(键值对数组),任何类型都可以作为属性或值
- 设置键值
- 使用for of进行遍历

// 方法一:使用May set get方法
let myMap = new Map();
myMap.set(0,function(){});
myMap.set(1,{a:"a"});
myMap.set(3,'string');
// 获取值
myMap.get(0)

// 方法二:
let myMap = new Map([
    ['a', {key:'001', placeholder:'请输入', initProps:{}}],
    ['b', {key:'002', placeholder:'请输入', initProps:{}}]
]);

myMap.get('a') //获取值:
迭代
let myMap = new Map();
myMap.set(0, "zero");
myMap.set(1, "one");
for (let [key, value] of myMap) {
  console.log(key + " = " + value);
}
  • 与对象的区别
    • Map在默认情况下没有任何键,对象原型链上继承了键
    • Map键的类型是任意类型
    • Map键是有序的,不过现在obj也是有序的
    • Map的个数Size用方法可以获取
    • Map可以直接迭代
    • Map频繁增减键值时性能好些
  • Map转对象
let map = new Map([['a','one'],['b','two'],['c','three']]);
//希望得到{a: 'one',b: 'two', c: 'three'} 怎么做?

let obj = Object.fromEntries(map);
//那么对象怎么转为Map?
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值