es2015(es6)基础知识整理(更新中...)
1.let
let可以声明块级作用域变量
'use strict';
if (true) {
let app = 'apple';
}
console.log(app); //外面是访问不到app的
2.const
const可以声明常量
'use strict'; const app = 'apple';
console.log(app); const app = 'peach';
console.log(app); //报错,常量不能多次赋值
3.Destructuring 解构
解构赋值允许使用类似数组或对象字面量的语法将数组和对象的属性赋给各种变量。
'use strict';
function breakfast () {
return ['egg','bread','milk'];
}
//传统方法
var arr = breakfast(), egg = arr[0], bread = arr[1], milk = arr[2];
console.log(egg,bread,milk);
//es6
let [t1,t2,t3] = breakfast();
console.log(t1,t2,t3);
4.对象解构
'use strict';
function breakfast () {
return {egg:'egg', milk:'milk', bread:'bread'};
}
let {egg: a1, milk: a2, bread: a3} = breakfast(); //a1,a2,a3是自己定义的名字
console.log(a1,a2,a3);
5.字符模板
'use strict';
let food1 = 'egg', food2 = 'bread';
let str = `今天的早餐是 ${food1} 和
${food2}`; //通过反斜线引号可以对字符串换行
console.log(str);
6.字符串相关函数
'use strict';
let food1 = 'egg', food2 = 'bread';
let str = `今天的早餐是 ${food1} 和
${food2}`;
console.log(str.startsWith('今天'),str.endsWith('bread'),str.includes('早餐')); //true true true
7.函数默认值
'use strict';
function breadfast (food = '食物', drink = '饮料') {
console.log(`${food} ${drink}`);
}
breadfast(); //输出默认值
breadfast('面包', '啤酒'); //输出给定值
8. ...操作符
'use strict';
function breakfast (food, drink, ...others) { //...表示后面除了前面两个参数,其余参数都放在others这个数组里
console.log(food, drink, others);
console.log(food, drink, ...others); //将others数组里面的值展开
}
breakfast('面包', '牛奶', '培根', '香肠');
9.Arrow Function(箭头函数)
'use strict'; //breakfast是函数名字,箭头前面是传入的参数,箭头后面是返回值
let breakfast = (food,drink) => food + drink; console.log(breakfast('面包', '牛奶')); //箭头后面的大括号可以写函数的具体操作
let lunch = (food, drink) => {
return '今天午餐吃' + food + ',喝' +drink;
}; console.log(lunch('鸡肉', '汤'));
10.定义对象
'use strict';
let food = '鸡肉', drink = '汤';
let breakfast = {
food: food, //添加属性
drink: drink,
eat(){} //添加方法
};
console.log(breakfast);
//添加属性的其他方法
let food1 = 'food1';
breakfast.afood = '面条';
breakfast['hot drink'] = '牛奶';
breakfast[food1] = '蔬菜'; //这里的food1是变量food1的值
console.log(breakfast);
11.setPrototypeOf(改变原型)
'use strict';
let lunch = {
getDrink(){
return '啤酒';
}
};
let dinner = {
getDrink(){
return '可乐';
}
};
let food1 = Object.create(lunch);
console.log(food1.getDrink()); //啤酒
console.log(Object.getPrototypeOf(food1) === lunch); //true
Object.setPrototypeOf(food1, dinner);
console.log(food1.getDrink()); //可乐
console.log(Object.getPrototypeOf(food1) === dinner); //true
12.__proto__
'use strict';
let lunch = {
getDrink(){
return '啤酒';
}
};
let dinner = {
getDrink(){
return '可乐';
}
};
//__proto__
let food2 = {
__proto__: lunch //通过__proto__来指定food2的prototype
};
console.log(food2.getDrink());
console.log(Object.getPrototypeOf(food2) === lunch); //true
food2.__proto__ = dinner;
console.log(food2.getDrink());
console.log(Object.getPrototypeOf(food2) === dinner); //true
13.super
'use strict';
let lunch = {
getDrink(){
return '啤酒';
}
};
let dinner = {
getDrink(){
return '可乐';
}
};
//super
let food3 = {
__proto__: lunch,
getDrink(){
return super.getDrink() + '和汤'; //super.getDrink()是调用原型的getDrink方法
}
};
console.log(food3.getDrink());
14.iterator迭代器
每次迭代后都会返回一个对象{value:xx,done:true/false},value表示返回的值,done表示当前还有没有东西可以迭代,没有返回true,否则返回false
'use strict';
function chef(foods){
let i = 0;
return {
next(){
let done = (i >= foods.length);
let value = !done ? foods[i++] : undefined;
return {
value: value,
done: done
}
}
}
}
let meal = chef(['黄瓜', '鸡蛋']);
console.log(meal.next()); //Object {value: "黄瓜", done: false}
console.log(meal.next()); //Object {value: "鸡蛋", done: false}
console.log(meal.next()); //Object {value: undefined, done: true}
15.es6中的class
'use strict';
class Chef {
constructor(food){ //创建一个Chef类实例时会自动执行constructor方法
this.food = food;
}
cook(){
console.log(this.food);
}
}
let chef1 = new Chef('鸡蛋');
chef1.cook();
16.Set
'use strict'; //Set类似于数组
let food = new Set('鸡蛋');
console.log(food); food.add('菜'); //添加新的项
food.add('豆'); console.log(food); console.log(food.size); //food的长度
console.log(food.has('菜')); //判断是否含有某一项
food.delete('豆'); //删除某一项
console.log(food); food.forEach(food => { //批量对food中的项进行操作
console.log(food);
}); food.clear(); //清空food
console.log(food);
es2015(es6)基础知识整理(更新中...)的更多相关文章
- php面向对象基础知识整理之类中的属性和方法的使用
<?php /** * class Index * 类包含什么 * 1.创建类 * 2.类的属性和类中方法 * 3.类中访问修饰符 * 4.类的封装.继承.多态 */ // 创建类,创建的类名是 ...
- Kali Linux渗透基础知识整理(四):维持访问
Kali Linux渗透基础知识整理系列文章回顾 维持访问 在获得了目标系统的访问权之后,攻击者需要进一步维持这一访问权限.使用木马程序.后门程序和rootkit来达到这一目的.维持访问是一种艺术形式 ...
- Kali Linux渗透基础知识整理(二)漏洞扫描
Kali Linux渗透基础知识整理系列文章回顾 漏洞扫描 网络流量 Nmap Hping3 Nessus whatweb DirBuster joomscan WPScan 网络流量 网络流量就是网 ...
- 【OGG】OGG基础知识整理
[OGG]OGG基础知识整理 一.GoldenGate介绍 GoldenGate软件是一种基于日志的结构化数据复制软件.GoldenGate 能够实现大量交易数据的实时捕捉.变换和投递,实现源数据库与 ...
- java部分基础知识整理----百度脑图版
近期发现,通过百度脑图可以很好的归纳总结和整理知识点,本着学习和复习的目的,梳理了一下java部分的知识点,不定期更新,若有不恰之处,请指正,谢谢! 脑图链接如下:java部分基础知识整理----百度 ...
- 网站开发进阶(二十二)HTML UI知识汇总(更新中...)
HTML知识汇总(更新中...) 1.<iframe> 标签 浏览器支持 所有浏览器都支持 <iframe> 标签. 定义和用法 iframe 元素会创建包含另外一个文档的内联 ...
- C#基础知识整理
年时,北风吹雁雪纷纷,一条秋裤冻上头.冷的连手都懒得动,就随便翻翻书,也没有更新博客,如今年已过,开始投入到正常的工作状态中,趁现在需求还没有来,把C#基础知识梳理一下,其实一直以来就想这样做的,对于 ...
- wifi基础知识整理
转自 :http://blog.chinaunix.net/uid-9525959-id-3326047.html WIFI基本知识整理 这里对wifi的802.11协议中比较常见的知识做一个基本的总 ...
- JavaScript基础知识整理
只整理基础知识中关键技术,旨在系统性的学习和备忘. 1.在 JScript 中 null 和 undefined 的主要区别是 null 的操作象数字 0,而 undefined 的操作象特殊值NaN ...
- Oracle ASM 磁盘组基础知识整理(收藏版)
转至:https://cloud.tencent.com/developer/article/1494403 为什么要写这么一篇基础知识呢?还是有那么一点点原因的,不是胡编乱造还真是有真实存在的事件的 ...
随机推荐
- 利用gcc的__attribute__编译属性section子项构建初始化函数表
参考链接 : https://my.oschina.net/u/180497/blog/177206
- await这个关键词以及asyncio.wait asyncio.gather
1.asyncio.wait asyncio.gather这两个都是接受多个future或coro组成的列表,但是不同的是,asyncio.gather会将列表中不是task的coro预先封装为fut ...
- C#后台进行Http请求
1.Get请求 新建一个webform项目,添加一个按钮,定义click事件 protected void Button1_Click(object sender, EventArgs e) { st ...
- Subsequences in Substrings Kattis - subsequencesinsubstrings (暴力)
题目链接: Subsequences in Substrings Kattis - subsequencesinsubstrings 题目大意:给你字符串s和t.然后让你在s的所有连续子串中,找出这些 ...
- ASP.NET MVC - 模型与元数据(进阶)
模型与元数据(Model & Model Metadata) ASP.NET MVC中有一个模型的概念,实际上模型就是一个类型,Model表示的就是最终要绑定到View视图页面上的数据而已. ...
- 数字图像处理的Matlab实现(4)—灰度变换与空间滤波
第3章 灰度变换与空间滤波(2) 3.3 直方图处理与函数绘图 基于从图像亮度直方图中提取的信息的亮度变换函数,在诸如增强.压缩.分割.描述等方面的图像处理中扮演着基础性的角色.本节的重点在于获取.绘 ...
- 虚拟机安装CentOS配置静态IP
在VMware中安装Linux虚拟机后(比如CentOS6.*),不能访问网络,需要配置静态IP.虚拟机中推荐使用NET模式进行网络连接,在虚拟机的工具栏点击编辑>虚拟网络编辑器>NET模 ...
- seo 优化排名 使用总结
SEO 的优化技巧 随着百度对竞价排名位置的大幅减少,SEO优化将自己的网站在首页上有更好的展示有了更多的可能. 本文将系统阐述SEO优化原理.优化技巧和优化流程. 搜索引擎的优化原理是蜘蛛过来抓取网 ...
- Pytorch 细节记录
1. PyTorch进行训练和测试时指定实例化的model模式为:train/eval eg: class VAE(nn.Module): def __init__(self): super(VAE, ...
- python3+selenium入门11-窗口切换
在打开新的浏览器窗口时,如果要定位新窗口的元素,需要先切换到这个新打开的窗口中,才能定位到该窗口下的元素. current_window_handle:获取当前句柄.可以把句柄理解成窗口的身份证 wi ...