随笔分类 - ES6
js使用中文集进行排序
摘要:Array.prototype.sort((a, b)=> a.localeCompare(b)) ### 举个例子 ['b', 'a', 'd', 'c'].sort((a, b) => a.localeCompare(b))
迭代器
摘要:迭代器 背景知识 什么是迭代? 从一个数据集合中按照一定的顺序,不断取出数据的过程 迭代和遍历的区别? 迭代强调的是依次取数据,并不保证取多少,也不保证把所有的数据取完 遍历强调的是要把整个数据依次全部取出 迭代器 对迭代过程的封装,在不同的语言中有不同的表现形式,通常为对象 迭代模式 一种设计模式
Promise静态方法 resolve
摘要:Promise.resolve = new Promise(()=> resolve()) 应用场景 我们可以使用Promise.resolve来完成模拟数据 function getData() { return Promise.resolve([ { id: 0, name: "张三"}, {
文件上传
摘要:文件上传 流程: 客户端将文件数据发送给服务器 服务器保存上传的文件数据到服务器端 服务器响应给客户端一个文件访问地址 测试地址:http://xxx/api/upload 键的名称(表单域名称):imagefile 请求方法:POST 请求的表单格式:multipart/form-data 请求体
String的padStart() 和 padEnd()方法
摘要:String.prototype.padStart() padStart() 方法从字符串的开头用另一个字符串填充一个字符串到一定长度,并返回一个达到一定长度的结果字符串。下面说明了 padStart() 方法: String.prototype.padStart(padLength [,padSt
关于Es6的Symbol和访问器
摘要:Symbol和访问器主要是来限制实例成员的 如果一个成员暴露出去只让读不让改,我们就可以在类中使用访问器 class Person { get name() { return "HuangBingQuan" } } 如果一个成员不让暴露出去(不让外界访问)那就使用Symbol作为属性值 functi
Es6-符号
摘要:普通符号 符号是ES6新增的一个数据类型,它通过使用函数 Symbol(符号描述) 来创建 符号设计的初衷,是为了给对象设置私有属性 私有属性:只能在对象内部使用,外面无法使用 符号具有以下特点: 没有字面量 使用 typeof 得到的类型是 symbol 每次调用 Symbol 函数得到的符号永远
Set集合
摘要:# set 集合 > 一直以来,JS只能使用数组和对象来保存多个数据,缺乏像其他语言那样拥有丰富的集合类型。因此,ES6新增了两种集合类型(set 和 map),用于在不同的场景中发挥作用。 **set用于存放不重复的数据** 1. 如何创建set集合 ```js new Set(); //创建一个
ES6剩余参数
摘要:ES6剩余参数 arguments的缺陷: 如果和形参配合使用,容易导致混乱 从语义上,使用arguments获取参数,由于形参缺失,无法从函数定义上理解函数的真实意图 ES6的剩余参数专门用于收集末尾的所有参数,将其放置到一个形参数组中。 语法: function (...形参名){ } 举个例子
ES6参数默认值
摘要:在书写形参时,直接给形参赋值,附的值即为默认值 这样一来,当调用函数时,如果没有给对应的参数赋值(给它的值是undefined),则会自动使用默认值。 举个栗子 function sum(a, b = 1, c = 2) { return a + b + c; } console.log(sum(1
箭头函数
摘要:箭头函数 箭头函数是一个函数表达式,理论上,任何使用函数表达式的场景都可以使用箭头函数。 完整语法 (参数1, 参数2, ...)=>{ //函数体 } 如果参数只有一个,可以省略小括号 参数 => { } 如果箭头函数只有一条返回语句,可以省略大括号,和return关键字 参数 => 返回值 细节
ES6字符串API
摘要:ES6 字符串API 以下均为字符串的实例(原型)方法 includes 判断字符串中是否包含指定的子字符串 startsWith 判断字符串中是否以指定的字符串开始 endsWith 判断字符串中是否以指定的字符串结尾 repeat 将字符串重复指定的次数,然后返回一个新字符串。 const te
ES6导出与导入
摘要:ES6导出与导入 导出 // 声明并导出成员(最终会导出一个对象) export let a = 123; export let b = 234; export { x } // 导出默认成员 export default {} // 导入 (如果不解构 则返回导出的export default的值
ES6数组API
摘要:ES6数组API Array.map(item, index) /* Array.map(item, index) item: 数组中的每个元素 index: 索引 特性:映射,进去几个,出来的还是几个,返回一个新数组 */ const socres = [60, 90, 62, 83, 98, 7
扩展运算符
摘要:扩展运算符 ... 扩展运算符能将 数组 转换为逗号分隔的 序列参数。 const person = ['易烊千玺', '王俊凯', '王源']; let test = (...args) => { console.log(args) } function test() { console.log(
rest 剩余参数
摘要:ES6 引入 rest 参数,用于获取函数的实参,用来替代 argument。 ES5 获取形参方式 function fn() { console.log(arguments); } ES6 获取形参方式 let fn = (...args) => { console.log(args); //
参数默认值 (函数形参与对象数组解构)
摘要:* ES6 允许给函数参数,对象数组解构,赋值默认值。 #### 应用场景 1. 形参初始值 具有默认值的参数。 ```js let add = (a, b, c = 10)=> { return a + b + c; } function add(a, b, c = 10) { return a
箭头函数的特征
摘要:箭头函数的特征 this是静态的,this 始终指向函数声明时所在作用域下的this值。 如果是构造函数不能使用构造函数,会抛异常(Person is not a constructor)例如 let Person = (name, age)=> { this.name = name; this.a
简单了解一下Promise
摘要:Promise有什么作用? 可以支持多个并发的请求,解决回调地狱(代码嵌套问题),配合async await 用同步的方式写异步的代码。 Promise会有3个状态,pending 等待、resolved 成功、rejected 失败。 Promise的状态一旦改变就不会再变。 Promise的构造