当前位置: 代码网 > it编程>编程语言>Javascript > ES6基础语法之对象介绍

ES6基础语法之对象介绍

2024年05月18日 Javascript 我要评论
一、对象和属性和方法javascript中对象:var person={name:"jack",age:20};或:var name = "jack";var age = 20;var person

一、对象和属性和方法

javascript中对象:

var person={name:"jack",age:20};

或:

var name = "jack";
var age = 20;
var person = {name:name,age:age};
console.log(person.age); //20

es6中的简洁表示:

let [name,age]=["jack",20];
let person = {name,age}; //等同person = {name: name,age: age}
console.log(person.age); //20

javascript中对象方法:

var person = {
    sayhi:function()
    {
    	console.log("hi");
    }
}
person.sayhi();  //hi

es6中简洁表示:

let person = {
    sayhi()
    {
    	console.log("hi");
    }
}
person.sayhi();

es6允许用表达式作为属性名,但是一定要将表达式放在方括号内:

var person = {["na"+"me"]:"jack",["a"+"ge"]:20};
console.log(person.age);

let str = "hi";
let person = {
    ["say"+str](){
    	console.log("hi");
    }
}
person.sayhi();

注意点:属性的简洁表示法和属性名表达式不能同时使用,否则会报错:

let [name,age]=["jack",20];
let person = {["na"+"me"],["a"+"ge"]}; //报错

二、对象的扩展运算符...

取出参数对象所有可遍历属性然后拷贝到当前对象:

let stu1 = {name:"jack",age:20,sex:"男"};
let stu2 = {...stu1};
console.log(stu2); //{name: "jack", age: 20,sex:"男"}

合并两个对象:

let stu1basicinfo = {name:"jack",age:20,sex:"男"};
let stu1detailinfo = {phone:"13524521457",mail:"ldh@163.com"};
let stu = {...stu1basicinfo,...stu1detailinfo};
console.log(stu);
//{name:"jack",age:20,sex:"男",phone:"13524521457",mail:"ldh@163.com"}

拷贝对象时支持添加属性:

let stu1 = {name:"jack",age:20,sex:"男"};
let stu2 = {...stu1,phone:"13554785452"};
console.log(stu2); //{name:"jack",age:20,sex:"男",phone:"13554785452"}

添加的属性在拓展运算符后面,取添加的属性:

let stu1 = {name:"jack",age:20,sex:"男"};
let stu2 = {...stu1,name:"rose",phone:"13554785452"};
console.log(stu2);
//{name:"rose",age:20,sex:"男",phone:"13554785452"}

添加的属性在拓展运算度前面,取扩展运算符内容:

let stu1 = {name:"jack",age:20,sex:"男"};
let stu2 = {name:"rose",phone:"13554785452",...stu1};
console.log(stu2);
//{name:"jack",phone:"13554785452",age:20,sex:"男"}

到此这篇关于es6基础语法之对象的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com