
es6
JavaScript es6 新语法
大杯美式不加糖
前端
展开
-
前端基础知识之 ES6(modules)
现在想仅仅导出Father,怎么做?在不同文件下的子类中想要使用这个Father,怎么做?注意,使用script引入的时候需要加上原创 2022-07-14 20:33:11 · 400 阅读 · 0 评论 -
ES7-ES12 知识点巩固
ES7Array.prototype.includes()includes() 方法用来判断一个数组是否包含一个指定的值,如果包含则返回 true,否则返回 false语法arr.includes(valueToFind[, fromIndex])valueToFind 需要查找的元素值。fromIndex 可选 从fromIndex 索引处开始查找 valueToFind。如果为负值(即从末尾开始往前跳 fromIndex 的绝对值个索引,然后往后搜寻)。默认为 0。示例const ar转载 2022-05-24 11:07:48 · 131 阅读 · 0 评论 -
JS 利用 Set 对数组中对象进行去重
JS中怎么对一个数组进行去重?相信很多人对这个问题都已经很熟悉了,最简便的方法就是使用 Set ????let arr = [1, 2, 3, 3, 4, 5, 5];console.log([...new Set(arr)]); // [1, 2, 3, 4, 5]那么如何对数组中的对象进行去重呢?例如????let arr = [ { id: '1', name: 'Jae' }, { id: '2', name: 'Tom' }, {原创 2021-11-15 15:28:39 · 4070 阅读 · 7 评论 -
JS数组中有N个对象,怎么删除数组中具有某个指定键对应的值的对象?
假设有这么一个数组:let arr = [ { name: 'Jae', age: 22, status: 1 }, { name: 'Jake', age: 23, status: 1 }, { name: 'Tom', age: 25, status: 0 }, { name: 'Lee', age: 27, status: 1 },]我想把对象中 status 为0的原创 2021-08-30 18:10:37 · 434 阅读 · 0 评论 -
ES6 中的 Iterator 是什么?for...of 跟它有什么关系?
Iterator 的作用Iterator:遍历器(迭代器),遍历器有如 forEach 、for 等。寻找 Iteratorconsole.log(iterator); // 报错console.log([1, 2][Symbol.iterator]()); // Array Iterator {}使用 Iterator我们在控制台打印出上面的 [1, 2][Symbol.iterator]() ,然后展开 :可以看到有个 next() 的方法,我们来试一下:const it = [1,原创 2021-07-19 15:18:25 · 88 阅读 · 0 评论 -
ES6中的Map数据结构
原创 2021-07-15 17:29:43 · 159 阅读 · 1 评论 -
ES6中的Set数据结构
Set 是什么1. 什么是 Set类似 [1, 2] 这种是数组,数组是一系列有序的数据集合;Set 是一系列无序,没有重复值的数据集合。2. 理解 Set// 数据的形式有两种,字面量与实例化构造函数console.log([1, 2, 1]); // [1, 2, 1]console.log(new Array(1, 2, 1)); // [1, 2, 1]// Set 只有实例化构造函数的形式const s = new Set();s.add(1);console.log(s)原创 2021-07-14 21:14:58 · 312 阅读 · 1 评论 -
ES6 对象新增方法Object.keys() 、Object.values() 、Object.entries()
Object.keys():获取对象的键,es6之前就有的方法;Object.values():获取对象的值,es6新增方法;Object.entries():获取对象的键与值,es6新增方法。基本用法const person = { name: 'Jae', age: 22};cnosole.log(Object.keys(person)); // ["name", "age"]cnosole.log(Object.values(person)); // ["Jae", 22]cnos原创 2021-07-05 11:07:25 · 448 阅读 · 0 评论 -
ES6 中对象的新增方法Object.assign()
用来合并对象基本用法const apple = { color: 'red', shape: 'circle', taste: 'sweet'};const pen = { color: 'black', shape: 'cylinder', use: 'write'};console.log(Object.assign(apple, pen)); // {color: "black", shape: "cylinder", taste: "sweet", use: "write"}原创 2021-07-04 15:58:07 · 209 阅读 · 0 评论 -
ES6 新增数组方法 find()和 findIndex()
find() 找到满足条件的一个立即返回findIndex() 找到满足条件的一个,立即返回其索引基本用法find()const arr = [1, 5, 10, 15];console.log(arr.find((value, index, arr) => { console.log(value, index, arr); // 输出: // 1 0 [1, 5, 10, 15] // 5 1 [1, 5, 10, 15] // 10 2 [1, 5, 10, 15] //.原创 2021-07-04 14:55:35 · 874 阅读 · 0 评论 -
ES6 中新增的数组方法Array.from()
将其他数据类型转换为数组基本用法console.log(Array.from('str')); // ["s", "t", "r"]哪些可以通过 Array.from() 转换成数组?1.所有可遍历的例如:数组、字符串、Set、Map、NodeList、argumentsconsole.log(Array.from(new Set[1, 2, 1)); // [1, 2]// 其实使用...new Set这种展开符的形式更直观些2.拥有 length 属性的任意对象const obj原创 2021-07-02 15:32:54 · 110 阅读 · 0 评论 -
ES6 中数组新增的includes()方法
判断数组中是否含有某个成员基本用法const arr = [1, 2, 3];console.log(arr.includes('2')); // falseconsole.log(arr.includes(2)); // true第二个参数从第几位开始判断,默认值是0:const arr = [1, 2, 3];console.log(arr.includes(2)); // trueconsole.log(arr.includes(2, 0)); // trueconsole.lo原创 2021-07-02 14:58:49 · 255 阅读 · 0 评论 -
trimStart() 和 trimEnd()
清除字符串的首或尾空格,中间的空格不会清除基本用法const str = ' a b c ';console.log(str.trimStart()); //a b c 最后面有个空格console.log(str.trimEnd());// a b c 最后面没有空格应用表单验证:<!--HTML代码--><input type="text" id="username" /><button id="btn">提交</button>co原创 2021-07-02 14:30:33 · 108 阅读 · 0 评论 -
padStart() 和 padEnd()
用来补全字符串长度的方法基本用法str.padStart(length, string);str.padEnd(length, string);length: 补全后的字符串总长度string: 用来补全的字符串内容const str = 'x';console.log(str.padStart(5, 'ab')); // ababxconsole.log(str.padEnd(5, 'ab')); // xababconsole.log(str.padEnd(6, 'ab')); //原创 2021-07-02 14:08:07 · 138 阅读 · 0 评论 -
ES6 中字符串新增的includes()方法
基本用法判断字符串中是否含有某些字符因为是一个实例方法,所以可以直接调用:const str = 'abcd';console.log(str.includes('b')); // trueconsole.log(str.includes('ab')); // trueconsole.log(str.includes('bc')); // trueconsole.log(str.includes('ac')); // false 这个要注意下第二个参数表示开始搜索的位置,默认是0con原创 2021-07-01 17:29:52 · 110 阅读 · 0 评论 -
JavaScript中数组的find方法
注意点:find() 方法返回通过测试(函数内判断)的数组的第一个元素的值如果没有符合条件的元素返回 undefined。find() 对于空数组,函数是不会执行的find() 并没有改变数组的原始值示例:const data = [{ type: 'test1', name: 'abc' }, { type: 'test2', name: 'cde' }, { type: 'test原创 2021-06-24 14:09:30 · 677 阅读 · 0 评论 -
ES6 对象展开运算符
基本用法展开对象const apple = { color: 'red', shape: 'circle', taste: 'sweet'};// 对象展开是不是跟数组一样在前面加上“...”呢?来试试看console.log(...apple); // Uncaught TypeError: Found non-callable @@iterator对象不能直接展开!必须在 {} 中展开console.log({...apple}); // {color: "red", shape:原创 2021-07-01 17:03:12 · 482 阅读 · 0 评论 -
ES6 数组展开运算符
认识展开运算符假设给定一个数组arr为[3, 1, 2],要求取出数组中最小的那个值该怎么做?有人应该会想到用 Math.min() ,让我们来试一下:const arr = [3, 1, 2];console.log(Math.min(arr)); // NaN很可惜,这种语法并不对。因为Math.min()只能传参数,并不能把整个数组传进来。解决方法有两种:第一种是舍弃Math.min()的方法,自己写一个函数,这种方法太麻烦,我们舍弃掉;第二种方法就是想办法将数组的形式转换为参数的形式传入原创 2021-07-01 15:06:15 · 1107 阅读 · 0 评论 -
JS 字符串的解构赋值
字符串既可以按数组的形式来解构赋值,也可以按对象的形式来解构赋值????//数组形式//取出“hello”中的“e”const [,letter] = 'hello';console.log(e); // "e"//对象形式//取出“world”中的“r”const { 2: letter2 } = 'world'; //这里的“2”是索引值console.log(letter2); // "r"...原创 2021-06-28 22:14:38 · 713 阅读 · 0 评论 -
JS 对象解构赋值
原理介绍模式(结构)匹配{} = {}属性名相同的完成赋值const { age, username } = { age: 18, username: 'Jae' };console.log(age, username); //18 Jae取别名const { age: Age, username: Username } = { uername: 'Jae', age: 18 }; //这里顺序不一样也可以console.log(Age, Username); /原创 2021-06-28 21:46:25 · 359 阅读 · 0 评论 -
JS 对象的方括号语法
假设有一个空对象person与一个值为“age”的常量prop,现在我想让prop的值作为对象person的一个属性,同时给这个属性的值赋值为18,该怎么做呢?有人应该会想到,能不能用点语法实现呢????const prop = 'age';const person = {};person.prop = 18;可惜输出person的结果是:{prop: 18}很明显不是我们想要的结果,正确实现方式为使用方括号语法:const prop = 'age';const person = {};原创 2021-06-29 21:22:17 · 671 阅读 · 0 评论 -
[转载] 明明有了 promise ,为啥还需要 async await ?
为了让还没听说过这个特性的小伙伴们有一个大致了解,以下是一些关于该特性的简要介绍:async/await 是一种编写异步代码的新方法。在这之前编写异步代码使用的是回调函数和 promise。async/await 实际是建立在 promise 之上的。因此你不能把它和回调函数搭配使用。async/await 可以使异步代码在形式上更接近于同步代码。这就是它最大的价值。转载 2021-06-25 14:10:38 · 125 阅读 · 0 评论 -
ES6 函数参数默认值
在ES6以前,想给函数参数默认值我们是怎么做的呢?const multiply = (x, y) => { if (typeof y ==='undefined') { y = 3; } return x * y;};console.log(multiply(2)); // 6这种形式有个很大的缺点,就是当函数形参有很多个时,想一个一个给默认值就比较麻烦了。在ES6出现后,这个问题得以解决????const multiply = (x, y = 3) => x *原创 2021-06-29 22:00:03 · 251 阅读 · 0 评论 -
ES6 剩余参数
认识剩余参数有这么一个需求,定义一个加法函数,用户传多少参数,就计算多少参数的总和。那么函数的形参要写几个呢?1个?2个?3个?显然都不合适,你怎么知道用户会传多少个数呢。由此引出了剩余参数的重要性。具体写法下面再举例,先让大家有个概念剩余参数的本质const add = (x, y, ...args) => { console.log(x, y, args); //注意这里使用的时候就不需要加“...”了,直接写参数名即可};add(); // undefined undefined [原创 2021-06-29 22:53:43 · 445 阅读 · 0 评论