Js 常见数据类型及判断方法及手写深拷贝

常见 值 类型:undefined、String、Number、boolean、Symbol.

常见 引用类型:Array、Object、function(特殊引用类型,单不用于存储数据,所以  “没有拷贝、复制函数”  这说法)、null(特殊引用类型,指针指向为空地址)

判断数据类型的方法:

  1. typeof 运算符
  2. 复制代码
    let a; 
    const string = 'abc';
    const n = 100;
    const b = true;
    const s = Symbol('s');
    
    typeof a; //  'undefined'
    typeof string;  //  'string'
    typeof n; //  'number'
    typeof b; //  'boolean'
    typeof s; //  'symbol'
    typeof function (){}; //  'symbol'
    
    typeof null; //  'object'
    typeof {}; //  'object'
    typeof []; //  'object'
    复制代码

     

  3.  

  4. /**
复制代码
 * 深拷贝
 * @param {Object} obj 要拷贝的对象
 */
function deepClone(obj = {}) {
if (typeof obj !== 'object' || obj == null) { // obj 是 null ,或者不是对象和数组,直接返回 return obj } // 初始化返回结果 let result if (obj instanceof Array) { result = [] } else { result = {} } for (let key in obj) { // 保证 key 不是原型的属性 if (obj.hasOwnProperty(key)) { // 递归调用!!! result[key] = deepClone(obj[key]) } } // 返回结果 return result }
复制代码

 

posted @   playforkeeps  阅读(21)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示