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

ES2020 系列:可选链 ?. 为啥出现,我们能用它来干啥?

在这种情况下,当我们尝试获取 user.address.street,而该用户恰好没提供地址信息,我们则会收到一个错误: let user = {}; // 一个没有 "address" 属性的 user...因为 user.address 为 undefined,尝试读取 user.address.street 会失败,并收到一个错误。...但是在很多实际场景中,我们更希望得到的是 undefined(表示没有 street 属性)而不是一个错误。 ……还有另一个例子。...所以,如果 user 恰巧因为失误变为 undefined,我们会看到一个编程错误并修复它。否则,代码中的错误在不恰当的地方被消除了,这会导致调试更加困难。 可选链 ?....obj.method?.() —— 如果 obj.method 存在则调用 obj.method(),否则返回 undefined。 正如我们所看到的,这些语法形式用起来都很简单直接。?.

92340

jQuery.validationEngine.js学习

jQuery的dom对象直接调用就行了,下面拿jQuery官方上的一个例子来说明 看一下例子: <!...method) { //该例子中methodundefined // default constructor with or without arguments methods.init.apply(...将错误内容放入div中,将生成div插在被触发控件的前面,并且为div加上class,为什么加,在init方法中,我们已经为这类class添加了click事件,功能是点击能够删除它们。.../jsp/login_check.jsp",//修改成你要跳转的路径,或者你自己新写一个关联对象 // you may want to pass extra data on the ajax call...上面的分析可能不是很全面,如果这个插件有新的功能还没有用到,希望大家提出来,一起分享分享。 内容不多,时间刚好,以上是的一点读码体会,如有错误,请指出,大家共通学习。

4K20

JavaScript的奇技淫巧

const arr = new Array(4); [undefined, undefined, undefined, undefined] // 谷歌浏览器中是 [empty x 4] 你会发现,通过一个松散的数组去循环调用一些转换是非常难的...method('parameter1', , 'parameter3'); // Uncaught SyntaxError: Unexpected token , 一个我们常用的解决方法是传递 null...method('parameter1', null, 'parameter3') // or method('parameter1', undefined, 'parameter3'); 根据 ES6...method(...['parameter1', , 'parameter3']); // 代码执行了... 3. 数组去重 一直不明白为什么数组不提供一个内置函数可以让我们方便的取到去重以后的值。...你可能会得到: NaN === NaN //false ES6 中提供了新的 Object.is() 方法,它具有 === 的一些特点,而且更好、更精确,在一些特殊案例中表现的很好: Object.is

51260

JavaScript 中 this 指向所有场景详细分析(译)

严格模式在ECMAScript 5.1 出现,对 js 一些语法进行了限制,可以提供一个更加安全、健壮的错误检查机制。 在函数体顶部加入 'user strict' 即可使用严格模式。...因此 numbers.sum() 的调用结果是 NaN (或者在严格模式下抛出一个错误 TypeError: Cannot read property 'numberA' of undefined)。...() method to modify the context return calculate.call(this); } }; numbers.sum(); // => 15 calculate.call...方法调用定义:通过属性访问器得到一个函数对象,紧跟着左括号,然后是逗号分割的参数,最后是右括号。例如上边的例子 myObject.helloMethod()。...再看一个例子,我们通过构造函数 Pet 得到一个实例化对象 myCat。然后通过 setTimeout() 在一秒后打印对象内部的信息。

48720

ES2020 骚操作:可选链 ?.

在这种情况下,当我们尝试获取 user.address.street,而该用户恰好没提供地址信息,我们则会收到一个错误: let user = {}; // 一个没有 "address" 属性的 user...因为 user.address 为 undefined,尝试读取 user.address.street 会失败,并收到一个错误。...但是在很多实际场景中,我们更希望得到的是 undefined(表示没有 street 属性)而不是一个错误。 ……还有另一个例子。...所以,如果 user 恰巧因为失误变为 undefined,我们会看到一个编程错误并修复它。否则,代码中的错误在不恰当的地方被消除了,这会导致调试更加困难。 可选链 ?....obj.method?.() —— 如果 obj.method 存在则调用 obj.method(),否则返回 undefined。 正如我们所看到的,这些语法形式用起来都很简单直接。?.

73810

null 和 undefined 的区别!

undefined是 "当一个变量没有被赋值时使用" null "表示有意不存在任何对象值" 1.2 两个非值--一个无法消除的错误 在JavaScript中拥有两个非值现在被认为是一个设计错误(甚至被...那为什么不从 JavaScript 中删除其中的一个值呢?JavaScript 的一个核心原则是绝不破坏向后兼容。这个原则有很多好处。它最大的缺点是,设计上的错误无法被删除。...(«arg0», «arg1») // optional function or method call 4.4 undefined 和 null 和 nullish 聚结 nullish 合并算子??...我们的方法的好处是,它得到了TypeScript的良好支持(通过判别性联合)。 6.的方法 不喜欢用undefined作为 "关闭 "的值,有三个原因。...因此,如果需要一个特殊的值,我会使用以下两种方法中的一种。 使用null作为一个 "关闭 "的值。(作为一个旁观者,这种方法在TypeScript中得到了比较好的支持)。)

1.1K10

【JS】374- 重学 this 关键字

在读 Events 的 lib/events 源码的时候发现多次用到call关键字,看来有必要搞懂 this 与 call 相关的所有内容。...func(p1,p2)等价于func.call(undefined,p1,p2); obj.child.method(p1,p2)等价于obj.child.method.call(obj.child,p1...的形式就是obj.foo.call(obj) 所以this指向了obj bar() 转化为call的形式就是bar.call() 由于没有传 context,所以 this 就是 undefined,如果是在浏览器中最后给你一个默认的...Node.js 环境下指向全局的this关键字说明(你可能不知道) 为什么在浏览器或者前端环境可以直接正常输出值,而在 Node.js 环境中输出的却是 undefined。...这段代码的输出结果是: 10,2 认真读文章的应该都能正确的答出答案,每一个细节文章中都讲了,在这就不具体分析,如果不懂可以再读文章,或者直接加我好友我们一起讨论,kaola 是一个乐于分享的人,期待与你共同进步

1.5K10
领券