首页 > 其他分享 >ES6笔记

ES6笔记

时间:2023-01-05 17:02:01浏览次数:63  
标签:ES6 console log 笔记 js m1 m2


1、参考

2、… 展开运算符/收集运算符

​​ES6 … 展开&收集运算符​​​ES6之展开运算符(…)​​Es6(…)

3、解构赋值

解构赋值需要满足的条件:
1、 左右两边结构必须一样
2.、右边必须是个东西
3.、声明和赋值不能分开(必须在一句话里完成)
 
​es6之解构赋值​​ES6-解构赋值及其原理-解构看完这篇足够了

4、字符串

​​(JavaScript - 原生)字符串的20个常用方法 + 字符串遍历器 + 模板字符串​​javascript的字符串模板

5、原型

​​帮你彻底搞懂JS中的prototype、__proto__与constructor(图解)​​​JavaScript中的类、原型、原型链、继承​

6、array数组

​JavaScript数组(Array)方法大全​​​JavaScript 数组详解
​JavaScript Array 对象​

7、函数参数的默认值

function m1({ x = 1, y = 2 } = {x: 5, y: 6}) {
console.log("m1", x, y);
}

function m2({ x, y } = { x: 3, y: 4 }) {
console.log("m2", x, y);
}

m1();
m2();
console.log("=========================");

m1({ x: 3, y: 8 });
m2({ x: 3, y: 8 });
console.log("=========================");

m1({ x: 3 });
m2({ x: 3 });
console.log("=========================");

m1({});
m2({});
console.log("=========================");

m1({ z: 3 });
m2({ z: 3 });
console.log("=========================");

输出:

helloworld.js:6 m2 3 8
helloworld.js:15 =========================
helloworld.js:2 m1 3 2
helloworld.js:6 m2 3 undefined
helloworld.js:19 =========================
helloworld.js:2 m1 1 2
helloworld.js:6 m2 undefined undefined
helloworld.js:23 =========================
helloworld.js:2 m1 1 2
helloworld.js:6 m2 undefined undefined
helloworld.js:27 =========================

结论:

以函数m1为例进行说明:
function m1({ x = 1, y = 2 } = {x: 5, y: 6}) {…}

  • 函数调用的参数为不能解构的值(如m1(undefined),m1([12, 45])),则使用 {x: 5, y: 6}进行赋值
  • 函数调用的参数为可以解构的值,则使用{ x = 1, y = 2 }进行赋值。因为不为undefined则认为有值,只是值可能为空,所以使用默认的{ x = 1, y = 2 }进行赋值。

8、promise

​promise​​​​Javascript 中的神器——Promise​​​​Promise廖雪峰的官方网站​​ES6 Promise用法小结
​Promise MDN​

9、generator

runner.js

10、Symbol

​理解和使用ES6中的Symbol​

11、for in / for of

for in 循环key
for of 循环value
​​使用for…in和for…of在循环遍历时的区别​​​类似数组的对象​

let obj = {
data: [ 'hello', 'world' ],
[Symbol.iterator]() {
const self = this;
let index = 0;
return {
next() {
if (index < self.data.length) {
return {
value: self.data[index++],
done: false
};
} else {
return { value: undefined, done: true };
}
}
};
}
};

// for (const it of obj) {
// console.log(it);
// }

let it = obj[Symbol.iterator]();
console.log(it.next());
console.log(it.next());
console.log(it.next());
console.log(typeof(Symbol.iterator)); //输出 symbol

12、proxy,reflect

  • ​​ES6黑科技实践–proxy,reflect​​

13、JS单线程与异步


标签:ES6,console,log,笔记,js,m1,m2
From: https://blog.51cto.com/u_15930680/5991554

相关文章

  • JS笔记
    1、参考JavaScript面试攻略​​JavaScript参考​​2、​​js——引用类型和基本类型​​基本类型:NumberBooleanStringundefinednull引用类型:ObjectFunction3、清除Ch......
  • mysql学习笔记
    1、​​MySQL索引详细介绍​​2、MySql索引实现原理索引的本质MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构提取句子主干,就可以得到索引的本质:索......
  • docker学习笔记
    Kubernetes(k8s)1、​​干货满满!10分钟看懂Docker和K8S​​​​centos7配置国内yum源​​官网:​​https://www.docker.com/​​​仓库:​​https://hub.docker.com/​​E......
  • RabbitMQ学习笔记03:Work Queues
    参考资料:RabbitMQtutorial-WorkQueues—RabbitMQ   前言这篇文章我们会创建一个WorkQueue,它会在多个worker(即消费者consumer)中分发耗时的任务。WorkQueue......
  • bug笔记_正常运行但编译报错(未解决)
    项目能正常运行,但是compile的时候会报错Failedtoexecutegoalorg.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile(default-compile)onprojectbank-ms-......
  • TypeScripts 学习笔记
    TypeScript是拥有类型的JavaScript超集,它可以被编译成普通、干净、完整的JavaScript代码。一、起步1.TypeScripts的编译环境1.1安装#全局安装npminstalltypes......
  • 机器学习 吴恩达2022 第一章 笔记
    1.第一周  这篇笔记很多源自这位大佬,我实在是打不出这么多字(.)1.1什么是机器学习  机器学习是什么?在本视频中,我们会尝试着进行定义,同时让你懂得何时会使用机器学......
  • ES6 arrow function and normal function difference
      watch(()=>data,()=>{drawChart()})//Uncaught(inpromise)ReferenceError:Cannotaccess'drawChart'beforeinitializationconstdrawChart=(......
  • Elasticsearch学习笔记
    ​​最新ElasticSearch6实战教程​​​​全文搜索引擎Elasticsearch入门教程​​​​Elasticsearch学习,请先看这一篇!​​​​ElasticSearch简介​​​​Elasticsearch入门......
  • Java JUC学习笔记
    1、JUC简介在Java5.0提供了java.util.concurrent(简称JUC)包,在此包中增加了在并发编程中很常用的工具类,用于定义类似于线程的自定义子系统,包括线程池,异步IO和轻量......