ES6常用方法总结
1、声明变量用let,声明常量用const(定义唯一的值),都没有预解释,也不存在变量提升;
2、箭头函数:有如下两种写法
1)、表达式(函数体只有一行代码)
a)、let fn = p => p ; //一个参数
b)、let fn = (n,m) => n+m; //两个参数
c)、let fn = () => '我是没有参数的 '; //不带参数
2)、函数体(函数体有多行代码)
let fn = (n, m) => {
let total = n+m;
return total;
}
3、变量的解构赋值
1)数组
let [a, b, c] = [1, 2, 3];
console.log(a); //1
console.log(b); //2
console.log(c); //3
2)对象
let {a , b} = {a:'111',b:'222'};
console.log(a); //111
console.log(b); //222
4、扩展运算符:三个点(...)该运算符将一个数组,变为参数序列,所以不再需要ES5的apply方法。
function add(x, y) {
return x + y;
}
let numbers = [4, 38];
let result = add(...numbers);
console.log(result); // 42
5、模板字符串
let name = 'Kiki',
let age = 18;
//ES5写法
let str = name + '的年龄是' + age + ‘岁了!’;
//ES6写法(反引号:英文状态下,键盘第二行第一个字符)
let str = `${name}的年龄是${age}岁了!`;
6、Set和Map数据结构
1)Set 类似于数组,但是成员的值都是唯一的,不重复;本身也是一个构造函数,可以用new Set()来生成Set数据结构。
const set = new Set([1, 2, 3, 4, 4]);
console.log(...set); //1 2 3 4
2)Map js的对象(Object),本质上是键值对的集合。
let a = new Map();
let b = {};
a.set(b,'hello');
a.get(b); //hello
a.has(b); //true
a.delete(b);
a.has(b); //false //Map 也可以接受一个数组作为参数
let person = new Map([
['name','kiki'],
['age',18]
]);
person.has('name'); //true
person.has('age'); //true
person.get('name'); //kiki
person.get('age'); //18
7、定义一个类及类的继承
1)、通过class创建类
2)、通过constructor创建构造函数
3)、函数名(){
//公有属性和方法
}
class Person{
constructor(name,age){
this.name = name;
this.age = age;
}
makePerson(){
return 'my name is ' + this.name + ', my age is ' + this.age
}
}
let person1 = new Person('kiki',18);
let p = person1.makePerson();
console.log(p);//my name is this.name , my age is this.age
4)、static 函数名(){} 静态的属性和方法,给类上添加的私有属性和方法
5)、class 子类 extend 父类 { //子类继承父类
constructor (name, age, color){
super(name, age); //必须写,调用父类的constructor(name, age)
this.color = color;
}
}
8、for-of循环:遍历所有数据结构的方法,可获取键值,而原有的for-in循环可获取键名
const arr = ['red', 'green', 'blue'];
for(let v of arr) {
console.log(v); // red green blue
}
for(let k in arr){
console.log(k); //0 1 2
}
ES6常用方法总结的更多相关文章
- es6 常用方法
来自 https://www.cnblogs.com/lhl66/p/9555903.html 侵删 来自 https://www.cnblogs.com/lhl66/p/8862106.html 侵 ...
- es6常用方法
一.let 和 constlet 声明变量,只在所在的块区有效,不存在变量提升:var 存在变 量提升const 声明常量,只在所在块区有效 二.变量的解构赋值1.数组的解构赋值let [a, b, ...
- ES6 学习笔记(六)基本类型String
字符串String 1.字面量 需要注意的地方: 由单引号或双引号括起来的字符序列. 单双引号可以嵌套,由最外围引号定界字符串 字符串字面量可以拆分成数行,每行必须以反斜线(\)结束,且反斜线都不计入 ...
- ES6中的数组常用方法
数组在JS中虽然没有函数地位那么高,但是也有着举足轻重的地位,下面我就结合这ES5中的一些常用的方法,与ES6中的一些方法做一些说明和实际用途.大家也可以关注我的微信公众号,蜗牛全栈. 一.ES5中数 ...
- ES6 数组Arrary 常用方法
ES6 数组Arrary 常用方法: <script type="text/javascript"> // 操作数据方法 // arr.push() 从后面添加元素,返 ...
- ES6 数值类型常用方法
ES6 数值类型常用方法 <script type="text/javascript"> // Number常用方法 /* Number.isFinite() 用来检查 ...
- ES6 Class(类)的继承与常用方法
一.ES6 类的定义 ES5 构造函数的写法: function Point(x, y) { this.x = x; this.y = y; } ES6 引入了 Class(类),通过class关键字 ...
- es6中常用方法
查询数组中是否包含了某个元素keyword arr.includes(keyword)
- es6 js数组常用方法
一:会改变自身的方法 1.array.push(element1, ...elementN) 添加一个或多个元素到数组的末尾,并返回数组新的长度 2.array.unshift(element1, . ...
随机推荐
- Qt线程—QThread的使用--run和movetoThread的用法
Qt使用线程主要有两种方法: 方法一:继承QThread,重写run()的方法 QThread是一个非常便利的跨平台的对平台原生线程的抽象.启动一个线程是很简单的.让我们看一个简短的代码:生成一个在线 ...
- Hybrid App 开发模式
开发移动App主要有三种模式:Native. Hybrid 和 Web App. 需要注意的一点是在选择开发模式的时候,要根据你的项目类型(图片类?视频类?新闻类?等),产品业务和人员技术储备等做权衡 ...
- 分布式消息通信Kafka-原理分析
本文目标 TopicPartition 消息分发策略 消息消费原理 消息的存储策略 Partition 副本机制 1 关于 Topic 和 Partition 1.1 Topic 在 kafka 中, ...
- leecode第五百五十七题(反转字符串中的单词 III)
class Solution { public: string reverseWords(string s) { string res; stack<char> sta; string:: ...
- 导航栏中各按钮在点击当前按钮变色其他按钮恢复为原有色的实现方法(vue、jq、原生js)
一.vue如何实现? 代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset= ...
- NGUI实现滑动屏幕的时候,进行环形旋转
在滑动屏幕的时候,上图中的内容饶圆中心旋转,并且箭头的方向保持不变 每个Item上挂载的脚本: using UnityEngine; public class ItemTest : MonoBehav ...
- Go语言学习之14 商品秒杀架构设计与开发
本节主要内容 1. 秒杀抢购背景2. 秒杀抢购架构设计&模块划分3. 秒杀抢购接入层实现 1. 秒杀抢购背景 (1)架构分析 电商网站架构 秒杀抢购1.0 (2)上述网站架构问题 和已有电商逻 ...
- 从mysql向HBase+Phoenix迁移数据的心得总结
* 转载请注明出处 - yosql473 - 格物致知,经世致用 mysql -> HBase + Phoenix 1.总体方案有哪些? 1)通过Sqoop直接从服务器(JDBC方式)抽取数据到 ...
- 如何利用redis来进行分布式集群系统的限流设计
在很多高并发请求的情况下,我们经常需要对系统进行限流,而且需要对应用集群进行全局的限流,那么我们如何类实现呢. 我们可以利用redis的缓存来进行实现,并且结合mysql数据库一起,先来看一个流程图. ...
- 2019南昌网络赛G. tsy's number
题意:\(\sum_{i=1}^n\sum_{j=1}^n\sum_{k=1}^n\frac{\phi(i)*\phi(j^2)*\phi(k^3)}{\phi(i)*\phi(j)*\phi(k)} ...