对象 与 解构赋值

对象

定义:在javascript中,对象就是拥有属性和方法的无需数据集合

创建对象:

1.object构造函数

var person=new object();

2.字面量方式

var person = {};

对象的属性:

对象属性的分类

1.数据属性:一般用于储存数据值

2.访问器属性:不包含数据值,多用于get/set操作

定义对象的数据属性

通过点运算符.来操作一个对象的属性

person.name="zhangsan";

通过方括号【】操作一个对象的属性

person["name"]="zhangsan";

删除对象的数据属性 :可以用delete操作符删除一个不是继承而来的属性

delete person.name;

对象的方法

定义对象的方法

方式一

var person={name:"lisi",sayname=function(){console.log("my name is"+this.name);}};

方式二

var person = new object();person.name=function(){console.log("my name is"+this.name);}

调用对象的方法

通过点运算符 . 来访问一个对象的方法

var person={name:"lisi",sayname=function(){console.log("my name is"+this.name);}};   person.sayname();

通过方括号 [] 来访问一个对象的方法

var person={name:"lisi",sayname=function(){console.log("my name is"+this.name);}};    person["sayname"]();

删除对象的方法

可以用 delete 操作符删除对象的方法

var person={name:"lisi",sayname=function(){console.log("my name is"+this.name);}};   delete person.sayname;

对象的遍历

1.for-in循环

for(let key in person){console.log(key);console.log(person[key]);}

2.object.keys(object)

var arr = object.keys(person);              for(let i=0;i<arr.length;i++){console.log(person[arr[i]]);}

3.Object.getOwnPropertyNames(object)

var arr = object.getownpropertynames(person);              for(let i=0;i<arr.length;i++){console.log(person[arr[i]]);}

解构赋值

数组的解构赋值

var a=1;var b=2;var c=3;       ===      let  [a,b,c]=[1,2,3];

嵌套数组的解构

数组解构的默认值

var  [a,b]=[];                vs            var [a=1,b=2]=[];

对象的解构赋值

var {name:name,age:age} = {name:“zhangsan”,age:20};
var {name,age} = {name:"zhangsan",age:20};

嵌套对象的解构

对象解构的默认值

var {name} = {};                 vs                 var {name="zhangsan"} = {};

函数参数的解构赋值

函数参数的解构赋值------参数默认值的解构赋值

参数为数组

function add([x=1,y=2]){return x+y;}   add([ ]) ;-----function add([x=1,y=2]=[ ]){return x+y;}add();

参数为对象

function test({name="zhangsan",age=20}){console.log(name,age)}  test({});   ----function test({name="zhangsan",age=20}={}){console.log(name,age)}  test( );                              

解构赋值的应用场景

1.交换变量的值

2.从函数返回多个值

3.函数参数的定义

4.函数参数的默认值

5.提取json数据

6.遍历 map 结构

7.输入模块的指定方法

时间: 2024-08-07 08:18:25

对象 与 解构赋值的相关文章

Es6 -- 对象的解构赋值

解构不仅可以用于数组,还可以用于对象. var {foo, bar} = {foo: "aaa", bar: "bbb"}; console.log(foo); //aaa console.log(bar); //bbb 对象的解构与数组有一个重要的不同.数组的元素是按次序排列的,变量的取值由它的位置决定;而对象的属性没有次序,变量必须与属性同名,才能取到正确的值. var {bar, foo} = {foo: "aaa", bar: "

对象的解构赋值

let { foo, bar } = { foo: "aaa", bar: "bbb" }; foo // "aaa" bar // "bbb" 对象的解构与数组有一个重要的不同.数组的元素是按次序排列的,变量的取值由它的位置决定:而对象的属性没有次序,变量必须与属性同名,才能取到正确的值. 如果变量名与属性名不一致,必须写成下面这样. let { foo: baz } = { foo: 'aaa', bar: 'bbb' }

ES6变量的解构赋值(二)对象的解构赋值

前面我们知道,数组的结构赋值需要按顺序进行赋值, let [a,,c] = [1,2,3] console.log(a);//1 console.log(c);//3 let [a,b] = [1];console.log(a);//1console.log(b);//undefined 而对象的解构赋值则是通过对象属性进行赋值,不需要按照顺序进行,而无法匹配的则为undefined let {a,b,c}={b:1,a:2}; console.log(a);//2 console.log(b)

es6学习 -- 解构赋值

ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring). 以前,为变量赋值,只能直接指定值. let a = 1; let b = 2; let c = 3; ES6 允许写成下面这样. let [a, b, c] = [1, 2, 3]; 上面代码表示,可以从数组中提取值,按照对应位置,对变量赋值. 本质上,这种写法属于"模式匹配",只要等号两边的模式相同,左边的变量就会被赋予对应的值.下面是一些使用嵌套数组进行解构的例子. 我认为

ES6(二)解构赋值+字符串的扩展

详解一下之前的解构赋值 ①解构赋值中的"..." let [a,...b]= [1]; b // [] ...代表变量b去匹配剩余的所有元素返回一个数组 ,匹配不到时返回[] //注意:"...b"只能放在最后 ②解构赋值的等号两边的数据类型必须一样 即: let [] = [] 或者 let {} = {} 但是:Set结构也允许使用数组进行解构赋值 let [a,b]= new Set([1,2,3,4]) a //1 b //2 技巧: 如果你不确定该结构是否

(5)ES6解构赋值-函数篇

函数参数的解构赋值 function sum(x, y) { return x + y; } sum(1,2);//3 //解构赋值 function sum([x, y]) { return x + y; } console.log( sum([1,2]) );//3 函数参数解构赋值的默认值 function fun({x = 0, y = 0} = {}) { return [x, y]; } console.log( fun({}) ); //[0,0] console.log( fun

变量的解构赋值

*,html { font-size: 16px } 一.数组的解构赋值 基本用法 ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构. 下面的代码表示,可以从数组中提取值,按照位置的对应关系对变量赋值.这种写法属于"模式匹配",只要等号两边的模式相同,左边的变量就会被赋予对应的值. var [a,b,c]=[1,2,3] a // 1 b // 2 c // 3 let [foo,[[bar],baz]]=[1,[[2],3]]; foo //1 bar //

ES6数组的解构赋值( 下)

对象的解构赋值 对象的解构赋值跟数组的解构赋值很类似,我们来看一段小代码: var { a,b,c} = {"a":1,"b":2,"c":3}; console.log(a);//结果:a的值为1 console.log(b);//结果:b的值为2 console.log(c);//结果:c的值为3 这段例子的代码是不是跟数组的解构赋值很相似,只不过是数组换成了对象.但是两者有一个不同的地方,我们对上面的代码稍做修改: var { a,b,c

ES6学习总结之 解构赋值

变量的解构赋值 1.数组解构赋值 1.1 基本用法 ES6允许按照一定模式,提取数组或对象的值,对变量赋值,称之为解构赋值 以往对变量赋值如下: var a=10; var b=20; var c=30; ES6中可写成以下形式: var [a,b,c] = [10,20,30]; 这种写法属于"模式匹配",只要等号两边的模式对应,右边的值便会赋予左边对应的变量. 注意下面的写法: // ... 是扩展运算符,代表剩余所有参数 var [a, ...b] = [1,2,3,4]; a