7个好用的JavaScript技巧分享(译)
前言
就像所有其他编程语言一样,javascript也有许多技巧可以完成简单和困难的任务。 一些技巧广为人知,而其他技巧则足以让你大吃一惊。 让我们来看看你今天就可以开始使用的七个javascript技巧吧!
原文链接:-…
数组去重
数组去重可能比您想象的更容易:
var j = [...new set([1, 2, 3, 4, 4])] >> [1, 2, 3, 4]
很简单有木有!
过滤掉falsy值
是否需要从数组中过滤出falsy值(0,undefined,null,false等)? 你可能不知道还有这个技巧:
let res = [1,2,3,4,0,undefined,null,false,''].filter(boolean); >> 1,2,3,4
创建空对象
您可以使用{ }创建一个看似空的对象,但该对象仍然具有__proto__和通常的hasownproperty以及其他对象方法。 但是,有一种方法可以创建一个纯粹的“字典”对象:
let dict = object.create(null); // dict.__proto__ === "undefined" // no object properties exist until you add them
这种方式创建的对象就很纯粹,没有任何属性和对象,非常干净。
合并对象
在javascript中合并多个对象的需求已经存在,尤其是当我们开始使用选项创建类和小部件时:
const person = { name: 'david walsh', gender: 'male' }; const tools = { computer: 'mac', editor: 'atom' }; const attributes = { handsomeness: 'extreme', hair: 'brown', eyes: 'blue' }; const summary = {...person, ...tools, ...attributes}; /* object { "computer": "mac", "editor": "atom", "eyes": "blue", "gender": "male", "hair": "brown", "handsomeness": "extreme", "name": "david walsh", } */
这三个点(...)使任务变得更加容易!
require函数参数
能够为函数参数设置默认值是javascript的一个很棒的补充,但是请查看这个技巧,要求为给定的参数传递值:
const isrequired = () => { throw new error('param is required'); }; const hello = (name = isrequired()) => { console.log(`hello ${name}`) }; // this will throw an error because no name is provided hello(); // this will also throw an error hello(undefined); // these are good! hello(null); hello('david');
解构添加别名
解构是javascript的一个非常受欢迎的补充,但有时我们更喜欢用其他名称来引用这些属性,所以我们可以利用别名:
const obj = { x: 1 }; // grabs obj.x as { x } const { x } = obj; // grabs obj.x as { othername } const { x: othername } = obj;
有助于避免与现有变量的命名冲突!
获取查询字符串参数
获取url里面的参数值或者追加查询字符串,在这之前,我们一般通过正则表达式来获取查询字符串值,然而现在有一个新的api,具体详情可以查看这里,可以让我们以很简单的方式去处理url。
比如现在我们有这样一个url,"?post=1234&action=edit",我们可以利用下面的技巧来处理这个url。
// assuming "?post=1234&action=edit" var urlparams = new urlsearchparams(window.location.search); console.log(urlparams.has('post')); // true console.log(urlparams.get('action')); // "edit" console.log(urlparams.getall('action')); // ["edit"] console.log(urlparams.tostring()); // "?post=1234&action=edit" console.log(urlparams.append('active', '1')); // "?post=1234&action=edit&active=1"
比我们过去用的容易多了!
多年来javascript已经发生了很大的变化,但是我最喜欢的javascript部分是我们所看到的语言改进的速度。 尽管javascript的动态不断变化,我们仍然需要采用一些不错的技巧; 将这些技巧保存在工具箱中,以便在需要时使用!
那你最喜欢的javascript技巧是什么?
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。
下一篇: 安徽过年吃哪些美食,一起来瞧瞧
推荐阅读
-
很好用的js日历算法详细代码_javascript技巧
-
JavaScript中将一个值转换为字符串的方法分析[译]_javascript技巧
-
JavaScript 参数中的数组展开 [译]_javascript技巧
-
js实现瀑布流的一种简单方法实例分享_javascript技巧
-
一个简单的Node.js异步操作管理器分享_javascript技巧
-
JavaScript中:表达式和语句的区别[译]_javascript技巧
-
微信分享的标题、缩略图、连接及描述设置方法_javascript技巧
-
Javascript继承机制的设计思想分享_javascript技巧
-
很好用的js日历算法详细代码_javascript技巧
-
一个简单的Node.js异步操作管理器分享_javascript技巧