博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
es6的阅读收获
阅读量:5214 次
发布时间:2019-06-14

本文共 2711 字,大约阅读时间需要 9 分钟。

这里只是我本人自己的收获,所以不会详细的列出知识点,若是想了解可以直接去es6官网查看

1.关于let和var以及const的用法:①var是定义全局变量的,会有变量提升的现象也就是会有先先操作变量后定义(这里不会报错值是undefined),②let是块级作用域它没有变量提升不然会报错,③const一旦声明变量就必须要初始化(本质:不能改动的其实是变量指向的内存地址所保存的数据不能改动,但是他的数据结构就不一定了,所以用const定义对象的时候需要注意)

2.解构赋值的用途(从数组或者对象中提取值,对变量进行赋值这被称为解构)

①交换变量的值

let x = 1; let y = 2; [x, y] = [y, x]; ②从函数返回多个值
// 返回一个数组function example() { return [1, 2, 3]; } let [a, b, c] = example(); // 返回一个对象 function example() { return { foo: 1, bar: 2 }; } let { foo, bar } = example(); ③函数参数的定义
// 参数是一组有次序的值function f([x, y, z]) { ... } f([1, 2, 3]); // 参数是一组无次序的值 function f({x, y, z}) { ... } f({z: 3, y: 2, x: 1}); ④提取json数据
let jsonData = {  id: 42, status: "OK", data: [867, 5309] }; let { id, status, data: number } = jsonData; console.log(id, status, number); // 42, "OK", [867, 5309] ⑤函数参数的默认值
jQuery.ajax = function (url, { async = true, beforeSend = function () { }, cache = true, complete = function () { }, crossDomain = false, global = true, // ... more config } = { }) { // ... do stuff }; ⑥遍历map结构(很有用)
const map = new Map(); map.set('first', 'hello'); map.set('second', 'world'); for (let [key, value] of map) { console.log(key + " is " + value); } // first is hello // second is world ⑦输入模块的制定方法(这里我本人不是很理解没有用过)
const { SourceMapConsumer, SourceNode } = require("source-map"); 3.字符串的扩展 ①
  • includes():返回布尔值,表示是否找到了参数字符串。
  • startsWith():返回布尔值,表示参数字符串是否在原字符串的头部。
  • endsWith():返回布尔值,表示参数字符串是否在原字符串的尾部。
例子
let s = 'Hello world!'; s.startsWith('Hello') // true s.endsWith('!') // true s.includes('o') // true ②repeat(返回一个新的字符串,表示将原字符串重复n次)
'x'.repeat(3) // "xxx" 'hello'.repeat(2) // "hellohello" 'na'.repeat(0) // "" 参数如果是小数会被取整数部分的值,若是为负值会报错 ③padStart(),padEnd()--如果字符串长度不够指定的长度则会在头部或者尾部补全
'x'.padStart(5, 'ab') // 'ababx' 'x'.padStart(4, 'ab') // 'abax' 'x'.padEnd(5, 'ab') // 'xabab' 'x'.padEnd(4, 'ab') // 'xaba' 如果原字符串的长度等于大于制定的长度则返回原字符串 如果原字符串与用来补全的字符串加一起大于最大长度,则截去超出位数的补全字符串 如果省去第二个参数则会默认用空格代替补全长度 padStart()的常见用途是为数值补全指定位数。下面代码生成 10 位的数值字符串。
'1'.padStart(10, '0') // "0000000001" '12'.padStart(10, '0') // "0000000012" '123456'.padStart(10, '0') // "0000123456"

另一个用途是提示字符串格式。

'12'.padStart(10, 'YYYY-MM-DD') // "YYYY-MM-12" '09-12'.padStart(10, 'YYYY-MM-DD') // "YYYY-09-12" ④string.raw() 往往用来充当模板字符串的处理函数
String.raw`Hi\n${
2+3}!`; // 返回 "Hi\\n5!" String.raw`Hi\u000A!`; // 返回 "Hi\\u000A!"
4.数值的扩展 ①Number.isInteger()判断一个数值是否为一个整数 ②number.paseInt()和number.paseFloat() 还有一些对数和指数一类的可以直接到官网查找 5.函数的扩展 ①函数的length属性是函数的参数个数-函数参数默认值个数 ②rest参数用来获取函数多余的参数---rest参数之后不能在有其他参数不然会报错(函数的length不包含rest参数) ③.name返回函数名 6.箭头函数 ①在箭头的左边是函数的参数,右边是return的值 注意:--箭头函数里的this是指定义时所在的对象,而不是使用时所在的对象 --不可以当做构造函数,不可以使用new命令 --不可以使用yield命令 ②箭头函数的嵌套可以在官网查看

转载于:https://www.cnblogs.com/wtt577474/p/10335528.html

你可能感兴趣的文章
枚举类型(不常用)递归
查看>>
ETL
查看>>
Tomcat源码分析(六)--日志记录器和国际化
查看>>
今天把csdn的博客搬家到博客园
查看>>
D3.js+Es6+webpack构建人物关系图(力导向图),动态更新数据,点击增加节点,拖拽增加连线......
查看>>
基于网络的 Red Hat 无人值守安装
查看>>
Mybatis第六篇【配置文件和映射文件再解读、占位符、主键生成与获取、Mapper代理】...
查看>>
MySQL学习笔记(二):MySQL数据类型汇总及选择参考
查看>>
jQ 移动端返回顶部代码整理
查看>>
博客园界面美化
查看>>
sql查询远程数据库的表的数据并填充到本地数据库的表
查看>>
YII缓存依赖的应用
查看>>
决策树在机器学习的理论学习与实践
查看>>
Biee 11g权限详解
查看>>
minggw 安装
查看>>
Jquery操作cookie,实现简单的记住用户名的操作
查看>>
[BZOJ1196][HNOI2006]公路修建问题 二分答案+最小生成树
查看>>
PHP基础入门(二)
查看>>
[Luogu P3119] [USACO15JAN]草鉴定Grass Cownoisseur (缩点+图上DP)
查看>>
【原创】大数据基础之Zookeeper(4)应用场景
查看>>