[笔记]|[笔记] ES6学习笔记

// let const let a = 1; // 1.不存在变量提升 2.不允许重复声明 3.块级作用域 const b = 1; // 1.只读的常量// 解构赋值 let [c, d, e] = [1, 2, 3]; let [head, ...tail] = [1, 2, 3, 4]; let [x, y, z] = new Set(['a', 'b', 'c']); let [x1, y1 = 'b'] = ['a']; // 默认值let { foo, bar } = { foo: "aaa", bar: "bbb" }; // 对象的解构赋值let { log, sin, cos } = Math; const [a1, b1, c1, d1, e1] = 'hello'; //字符串的解构赋值// 函数参数的解构赋值 function add([x, y]) { return x + y; } add([1, 2]); // 3function move({ x = 0, y = 0 } = {}) { return [x, y]; }// 用处 // 1 交换变量的值 let x2 = 1; let y2 = 2; [x2, y2] = [y2, x2]; // 2 提取JSON数据let jsonData = https://www.it610.com/article/{ id: 42, status:"OK", data: [867, 5309] }; let { id, status, data: number } = jsonData; // 3 输入模块的指定方法 // const { SourceMapConsumer, SourceNode } = require("source-map"); // 字符串// 1 字符串的遍历器接口 // for (let codePoint of 'foo') { //console.log(codePoint) // } // 2. at 'abc'.at(0); // includes():返回布尔值,表示是否找到了参数字符串。 // startsWith():返回布尔值,表示参数字符串是否在源字符串的头部。 // endsWith():返回布尔值,表示参数字符串是否在源字符串的尾部。 // repeat() : 'x'.repeat(3) // "xxx" // padStart(),padEnd() : 字符串补全长度 'x'.padStart(5, 'ab') // 'ababx' 'x'.padEnd(5, 'ab') // 'xabab'// 3 模板字符串 let name = "Bob", time = "today"; let str=`Hello ${name}, how are you ${time}?`; // 运算 let [x3, y3] = [1, 2]; `${x3} + ${y3} = ${x3 + y3}`; // 数组 // 1. Array.from : 转为数组 let arrayLike = { '0': 'a', '1': 'b', '2': 'c', length: 3 }; let arr2 = Array.from(arrayLike); // ['a', 'b', 'c']// 2. Array.of : 用于将一组值,转换为数组 Array.of(3, 11, 8) // [3,11,8]// 3. Array.copyWithin 指定位置的成员复制到其他位置(会覆盖原有成员) // [1, 2, 3, 4, 5].copyWithin(0, 3, 4); // 将3号位复制到0号位 // [4, 2, 3, 4, 5]// 4. find()和findIndex() 找出第一个符合条件的数组成员 find 返回值为true的成员 findIndex 返回第一个符合条件的数组成员的位置 [1, 4, -5, 10].find((n) => n < 0) // -5 [1, 5, 10, 15].findIndex(function(value, index, arr) { return value > 9; }) // 2// 5. Array.fill 方法使用给定值,填充一个数组 ['a', 'b', 'c'].fill(7) // [7, 7, 7]// 5. Array.includes方法返回一个布尔值,表示某个数组是否包含给定的值 [1, 2, 3].includes(2); // true

    推荐阅读