首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

ES6中的解构赋值

(move()); //[0,0] //move()的参数是一个对象,通过对这个对象进行解构,得到变量x、y的,如果解构失败,x和y 等于默认 function move2({x,y} = {x :...//[undefined,undefined] console.log(move2()); //[1,2] //move2() 是函数move的参数指定默认,而不是变量x和y指定默认,所以与前一种写法的结果不太一样...let x = 1; let y = 2; [x,y] = [y,x]; console.log(x); //2 console.log(y); //1 2.从函数返回多个 函数只能返回一个,如果要返回多个的话...函数参数的定义 //参数是一组有次序的 function example([x,y,z]){ return x + y + z; } example([1,2,3]) console.log(...example([1,2,3])); //6 //参数是一组无次序的 function f({x,y,z}){ return x + y + z; } f({x : 'a', z : 'b',

81330

ES6学习之路8----WeakSet数据结构

什么是WeakSet WeakSet 结构与 Set 类似,也是不重复的的集合。但是,它与 Set 有两个区别。 1.WeakSet 的成员只能是对象,而不能是其他类型的。...[1,2]);//WeakSet {{a:'first',b:'one'},[1,2]} WeakSet 可以接受一个数组或类似数组的对象作为参数。...(实际上,任何具有 Iterable 接口的对象,都可以作为 WeakSet 的参数。)该数组的所有成员,都会自动成为 WeakSet 实例对象的成员。...—-返回一个布尔,表示是否删除成功 has(value):返回一个布尔,表示某个是否在 。 2.WeakSet 中的对象都是弱引用。...(x=>console.log(x));//Uncaught TypeError: ws.forEach is not a function 总结: WeakSet 成员只能是对象,而不能是其他类型的

64430

ES6 学习笔记(二)解构赋值

,且子对象所在父属性存在,则会报错 let { foo: { bar } } = { baz: 'bbb' }; console.log(foo) // TypeError: Cannot destructure...五、函数参数的解构赋值 函数调用时,会将实参传递给形参,其过程就是实参赋值给形参。因此,也可以使用解构赋值。其规则与数组、对象的解构赋值一致,关键看参数是采用哪种解构赋值方式。...let x = 1, y = 3; [x, y] = [y, x]; console.log(x,y) // 3 1 2、从函数返回多个 function func() { return [...1, 2, 3]; } let [a, b, c] = func(); console.log(a,b,c) // 依次输出:1 2 3 3、函数参数的定义 有序参数: function f([x,...y, z]) { return x*y*z } console.log(f([1, 2, 3])); // 6 无序参数: function f({ x, y, z }) { return

28010

《利用Python进行数据分析·第2版》第3章 Python的数据结构、函数和文件3.1 数据结构和序列3.2 函数3.3 文件和操作系统3.4 结论

zip函数 zip可以将多个列表、元组或其它序列成对组合成一个元组列表: In [89]: seq1 = ['foo', 'bar', 'baz'] In [90]: seq2 = ['one', '...函数可以有一些位置参数(positional)和一些关键字参数(keyword)。关键字参数通常用于指定默认或可选参数。在上面的函数中,x和y是位置参数,而z则是关键字参数。...前面的例子,也可以写: my_function(x=5, y=6, z=7) my_function(y=6, x=5, z=7) 这种写法可以提高可读性。...返回多个 在我第一次用Python编程时(之前已经习惯了Java和C++),最喜欢的一个功能是:函数可以返回多个。...: 5 return x TypeError: float() argument must be a string or a number, not 'tuple' 可以用元组包含多个异常

1.4K60

卧槽,好强大的魔法,竟能让Python支持方法重载

如果类中存在多个同名,且参数(个数和类型)不同的成员方法或构造方法,那么这些成员方法或构造方法就被重载了。下面先给出一个Java的案例。...,例如,在分析new MyOverload(20)时,20被解析int类型,所以会调用 public MyOverload(int x) {...}构造方法。...方法的参数还有一种特殊形式,就是默认参数,也就是在定义参数时指定一个默认,如果在调用该方法时不指定参数值,就会使用默认的参数值。...方法的x参数分别使用了int注解和str注解标注整数类型和字符串类型。...也就是说,参数注解并不能实现方法的重载。 另外,要注意一点,参数注解也只是一个标注而已,与注释差不多。并不会影响传入参数。也就是说,将一个参数标注int,也可以传入其他类型的,如字符串类型。

1.8K20

快速学习ES6语法,用最快的速度入门

1.数组解构赋值 以前,变量赋值,只能直接指定。 let a = 1; let b = 2; let c = 3; ES6允许写成下面这样。...let { prop: x } = undefined; // TypeError let { prop: y } = null; // TypeError 5.函数参数的解构赋值 函数的参数也可以使用解构赋值...function add([x, y]){ return x + y; } add([1, 2]); // 3 上面代码中,函数add的参数表面上是一个数组,但在传入参数的那一刻,数组参数就被解构成变量...对于函数内部的代码来说,它们能感受到的参数就是x和y。 6.默认 解构赋值允许指定默认。...let [x = 1] = [undefined]; x // 1 let [x = 1] = [null]; x // null 上面代码中,如果一个数组成员是null,默认就不会生效,因为null

65820

全面梳理JS对象的访问控制及代理反射

JS对象的访问控制 [1.1] 熟悉的 getter/setter 所谓 getter/setter,其定义一般: 一个 getter 方法不接受任何参数,且总是返回一个 一个 setter 总是接受一个参数...'; } }; console.log(obj2.foo); // "bar" 使用 get 语法时应注意以下问题: 可以使用数值或字符串作为标识 必须不带参数 不能与另一个get或具有相同属性的数据条目的对象字面量中出现...在同一个对象中,不能为一个已有真实的变量使用 set ,也不能为一个属性设置多个 set ?...并且在一般情况下,通过赋值来对象添加的属性,可以由 for...in 或 Object.keys 方法遍历枚举出来;且通过这种方式添加的属性可以被改变,也可以被删除。...例子1:对象的每个属性设置 getter/setter //in ES5 var obj = { x: 1, y: 2, z: 3 };function trace1() {

2.2K30
领券