当前位置: 首页 > news >正文

ES6 对象的新增方法(十四)

1. Object.assign(target, …sources)

特性:将一个或多个源对象的所有可枚举属性复制到目标对象。
用法:用于对象属性的合并。

const obj1 = { a: 1, b: 2 };
const obj2 = { b: 3, c: 4 };
Object.assign(obj1, obj2);console.log(obj1); // 输出:{ a: 1, b: 3, c: 4 }

2. Object.keys(obj)

特性:返回一个包含对象所有可枚举属性名称的数组。
用法:获取对象的所有键。

const obj = { a: 1, b: 2, c: 3 };
console.log(Object.keys(obj)); // 输出:['a', 'b', 'c']

3. Object.values(obj)

特性:返回一个包含对象所有可枚举属性值的数组。
用法:获取对象的所有值。

const obj = { a: 1, b: 2, c: 3 };
console.log(Object.values(obj)); // 输出:[1, 2, 3]

4. Object.entries(obj)

特性:返回一个给定对象自身可枚举属性的键值对数组。
用法:获取对象的键值对。

const obj = { a: 1, b: 2, c: 3 };
console.log(Object.entries(obj)); // 输出:[ ['a', 1], ['b', 2], ['c', 3] ]

5. Object.isFrozen(obj)

特性:判断对象是否被冻结,即不能添加新属性、删除现有属性或改变现有属性的可枚举性、可配置性、可写性。
用法:检查对象是否被冻结。

const obj = {};
console.log(Object.isFrozen(obj)); // 输出:falseObject.freeze(obj);
console.log(Object.isFrozen(obj)); // 输出:true

6. Object.setPrototypeOf(obj, prototype)

特性:设置对象的原型(内部[[Prototype]]属性)。
用法:改变对象的原型。

const proto = {};
const obj = { a: 1 };
Object.setPrototypeOf(obj, proto);console.log(Object.getPrototypeOf(obj) === proto); // 输出:true

7. Object.getPrototypeOf(obj)

特性:获取对象的原型。
用法:读取对象的原型。

const obj = Object.create({ a: 1 });
console.log(Object.getPrototypeOf(obj).a); // 输出:1

8. Object.preventExtensions(obj)

特性:阻止添加新属性到对象。
用法:使对象不可扩展。

const obj = { a: 1 };
Object.preventExtensions(obj);obj.b = 2; // 不会添加属性 b
console.log(Object.keys(obj)); // 输出:['a']

9. Object.isExtensible(obj)

特性:判断对象是否可扩展。
用法:检查对象是否可以添加新属性。

const obj = {};
console.log(Object.isExtensible(obj)); // 输出:trueObject.preventExtensions(obj);
console.log(Object.isExtensible(obj)); // 输出:false

10. Object.getOwnPropertyDescriptors(obj)

特性:返回一个对象的所有自身属性的描述符。
用法:获取对象属性的详细描述。

const obj = { get a() { return 1; } };
console.log(Object.getOwnPropertyDescriptors(obj));
// 输出:{ a: { 
// get: [Function: get], 
// set: undefined, enumerable: false, 
// configurable: true 
// } }

相关文章:

ES6 对象的新增方法(十四)

1. Object.assign(target, …sources) 特性:将一个或多个源对象的所有可枚举属性复制到目标对象。 用法:用于对象属性的合并。 const obj1 { a: 1, b: 2 }; const obj2 { b: 3, c: 4 }; Object.assign(obj1, obj2);console.log(obj1); // 输出&#…...

Spring Boot 学习总结(34)—— spring-boot-starter-xxx 和 xxx-spring-boot-starter 区别?

一、Spring Starter 简介 Spring Starter 是 Spring Boot 提供的一种便捷方式,帮助开发者快速集成和配置 Spring 应用中所需的依赖。每个 Starter 都是一个预配置的依赖集,可以自动配置应用的一部分或特定功能。这些 Starter 旨在消除手动编写大量样板代码和配置的需求。 1…...

昇思训练营打卡第二十五天(RNN实现情感分类)

RNN,即循环神经网络(Recurrent Neural Network),是一种深度学习模型,特别适用于处理序列数据。以下是对RNN的简要介绍: RNN的特点: 记忆性:与传统的前馈神经网络不同,R…...

昇思25天学习打卡营第02天|张量 Tensor

一、什么是张量 Tensor 张量是一种特殊的数据结构,与数组和矩阵非常相似。张量(Tensor)是MindSpore网络运算中的基本数据结构。 张量可以被看作是一个多维数组,但它比普通的数组更加灵活和强大,因为它支持在GPU等加速…...

权威认可 | 海云安开发者安全助手系统通过信通院支撑产品功能认证并荣获信通院2024年数据安全体系建设优秀案例

近日,2024全球数字经济大会——数字安全生态建设专题论坛(以下简称“论坛”)在京成功举办。由全球数字经济大会组委会主办,中国信息通信研究院及公安部第三研究所共同承办,论坛邀请多位专家和企业共同参与。 会上颁发…...

24.7.10|暑假-数组题目:实现整数的数字反转【学习记录】

1、题目: 32位有符号整数,将整数每位上的数字进行反转 输入:123 输出:321 输入:-123 输出:-321 输入:120 输出:21 !) 问题 怎么把整数转换成字符串&#xff…...

【ceph】ceph集群-添加/删除mon

本站以分享各种运维经验和运维所需要的技能为主 《python零基础入门》:python零基础入门学习 《python运维脚本》: python运维脚本实践 《shell》:shell学习 《terraform》持续更新中:terraform_Aws学习零基础入门到最佳实战 《k8…...

Django ORM中的Q对象

Q 对象在 Django ORM 中用于构建复杂的查询条件,特别是当你需要使用逻辑运算符(如 AND、OR、NOT)时。以下是一些使用 Q 对象进行复杂查询的实际例子。 Q对象使用 模型 假设我们有一个包含员工信息的模型 Employee: from djang…...

相控阵雷达原理详解

相控阵,即相位控制阵列,通过控制阵列各个单元的馈电相位来改变波束指向。 相控阵雷达的原理可以清晰地归纳为以下几点: 1. 基本构成: - 相控阵雷达,即相位控制电子扫描阵列雷达(Phased Array Radar, PAR&a…...

算法项目报告:物流中的最短路径问题

问题描述 物流问题 有一个物流公司需要从起点A到终点B进行货物运输,在运输过程中,该公司需要途径多个不同的城市,并且在每个城市中都有一个配送站点。为了最大程度地降低运输成本和时间,该公司需要确定经过哪些配送站点&#xff…...

linux中 crontab 定时器用法

*/10 * * * * python3 /home/code/haha2.py Crontab 当然,以下是一个简短的博客,介绍了 Cron 和 Crontab 的用法: --- # 简介:使用 Cron 和 Crontab 在 Linux 中进行定时任务调度 在 Linux 系统中,Cron 是一个用于…...

java算法day16

java算法day16 112 路径总和404 左叶子之和513 找树左下角的值 112 路径总和 题型判定为自顶向下类型,并且为路径和类型。 那就套模板。 自顶向下就是从上到下处理,那么就是前序遍历的思想。 class Solution {boolean res false;public boolean hasP…...

华为HCIP Datacom H12-821 卷41

1.多选题 以下关于BGP Atomic_Aggregate和Aggregator的描述,正确的是哪些项? A、Aggregator属性属于可选过渡属性 B、Atomic_Aggregate属于公认任意属性 C、收到携带Atomic_Aggregate属性的路由表示这条路由不能再度明细化 D、 Agregator表示某条路由可能出现…...

【React Hooks原理 - forwardRef、useImperativeHandle】

概述 上文我们聊了useRef的使用和实现,主要两个用途:1、用于持久化保存 2、用于绑定dom。 但是有时候我们需要在父组件中访问子组件的dom或者属性/方法,而React中默认是不允许父组件直接访问子组件的dom的,这时候就可以通过forwa…...

用于可穿戴传感器的人类活动识别、健康监测和行为建模的大型语言模型

这篇论文题为《用于可穿戴传感器的人类活动识别、健康监测和行为建模的大型语言模型:早期趋势、数据集和挑战的综述》,由埃米利奥费拉拉(Emilio Ferrara)撰写。论文主要内容如下: 摘要 可穿戴技术的普及使得传感器数…...

react事件绑定

react基础事件绑定 function passwordChange(e){console.log(e.target.value); } function usernameChange(e){console.log(e.target.value); }function App() {return (<div><input type"text" placeholder请输入用户名onChange{usernameChange}/><i…...

spring框架之AOP注解方式(java代码实例)

目录 半注解形式&#xff1a; 业务层接口实现类&#xff1a; 编写切面类&#xff1a; 在配置文件里面唯一需要加的&#xff1a; 测试类&#xff1a; 全注解形式&#xff1a; 不要配置文件&#xff0c;改为配置类&#xff1a; 同样的业务层接口实现类&#xff1a; 同样的…...

windows下gcc编译C、C++程序 MinGW编译器

文章目录 1、概要2、MinGW安装2.1 编译器下载2.2 编译器安装2.3 设置环境变量2.4 查看gcc版本信息 3、编译C、C程序3.1 编写Hello World.c3.2 编译C程序3.3 运行程序3.4 编译C程序 1、概要 GCC原名为GNU C语言编译器&#xff08;GNU C Compiler&#xff09;&#xff0c;只能处…...

uniapp启动图延时效果,启动图的配置

今天阐述uniapp开发中给启动图做延迟效果&#xff0c;不然启动图太快了&#xff0c;一闪就过去了&#xff1b; 一&#xff1a;修改配置文件&#xff1a;manifest.json "app-plus" : {"splashscreen" : {"alwaysShowBeforeRender" : false,"…...

SQL,python,knime将数据混合的文字数字拆出来,合并计算(学习笔记)

将下面将数据混合的文字数字拆出来&#xff0c;合并计算 一、SQL解决&#xff1a; ---创建表插入数据 CREATE TABLE original_data (id INT AUTO_INCREMENT PRIMARY KEY,city VARCHAR(255),value DECIMAL(10, 2) );INSERT INTO original_data (city, value) VALUES (上海0.5…...

CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型

CVPR 2025 | MIMO&#xff1a;支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题&#xff1a;MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者&#xff1a;Yanyuan Chen, Dexuan Xu, Yu Hu…...

MongoDB学习和应用(高效的非关系型数据库)

一丶 MongoDB简介 对于社交类软件的功能&#xff0c;我们需要对它的功能特点进行分析&#xff1a; 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具&#xff1a; mysql&#xff1a;关系型数据库&am…...

【入坑系列】TiDB 强制索引在不同库下不生效问题

文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...

Neo4j 集群管理:原理、技术与最佳实践深度解析

Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...

HBuilderX安装(uni-app和小程序开发)

下载HBuilderX 访问官方网站&#xff1a;https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本&#xff1a; Windows版&#xff08;推荐下载标准版&#xff09; Windows系统安装步骤 运行安装程序&#xff1a; 双击下载的.exe安装文件 如果出现安全提示&…...

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...

【HTTP三个基础问题】

面试官您好&#xff01;HTTP是超文本传输协议&#xff0c;是互联网上客户端和服务器之间传输超文本数据&#xff08;比如文字、图片、音频、视频等&#xff09;的核心协议&#xff0c;当前互联网应用最广泛的版本是HTTP1.1&#xff0c;它基于经典的C/S模型&#xff0c;也就是客…...

大语言模型(LLM)中的KV缓存压缩与动态稀疏注意力机制设计

随着大语言模型&#xff08;LLM&#xff09;参数规模的增长&#xff0c;推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长&#xff0c;而KV缓存的内存消耗可能高达数十GB&#xff08;例如Llama2-7B处理100K token时需50GB内存&a…...

管理学院权限管理系统开发总结

文章目录 &#x1f393; 管理学院权限管理系统开发总结 - 现代化Web应用实践之路&#x1f4dd; 项目概述&#x1f3d7;️ 技术架构设计后端技术栈前端技术栈 &#x1f4a1; 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 &#x1f5c4;️ 数据库设…...

FFmpeg:Windows系统小白安装及其使用

一、安装 1.访问官网 Download FFmpeg 2.点击版本目录 3.选择版本点击安装 注意这里选择的是【release buids】&#xff0c;注意左上角标题 例如我安装在目录 F:\FFmpeg 4.解压 5.添加环境变量 把你解压后的bin目录&#xff08;即exe所在文件夹&#xff09;加入系统变量…...