《ECMAScript 6 入门》学习

0927

#### let 和 const 命令学习:1.let 声明的变量只在它所在的代码块(块级作用域)有效,var全局作用域有效2.let命令:1)不存在变量提升,var存在。2)暂时性死区(变量一定要在声明之后使用)3)不允许在相同作用域内,重复声明同一个变量3.const保证的不是 变量的值不得改动,而是变量指向的那个内存地址所保存的数据不得改动。4.ES6中6种变量声明方法:var function let const import class

0928

变量的解耦赋值

数组的解构赋值

只要等号两边的模式相同,左边的变量就会被赋予对应的值。

ES6 内部使用严格相等运算符(===),判断一个位置是否有值。所以,只有当一个数组成员严格等于undefined,默认值才会生效。

对象的解构赋值

数组按次序,变量的取值由位置决定;对象没有次序,变量与属性同名获取正确的值。

解构赋值的规则是只要等号右边的值不是对象或数组,就先将其转为对象。undefined和null无法转为对象,所以对它们进行解构赋值都会报错。但是undefined会触发函数参数的默认值。

let { prop: x } = undefined; // TypeError
let { prop: y } = null; // TypeError
  • map.set(key, value) —— 根据键存储值。

  • map.get(key) —— 根据键来返回值,如果 map 中不存在对应的 key,则返回 undefined。

  • map.has(key) —— 如果 key 存在则返回 true,否则返回 false。

  • map.delete(key) —— 删除指定键的值。

  • map.clear() —— 清空 map。

  • map.size —— 返回当前元素个数。

0929

  • ES6——第4节:字符串的拓展学习

企业微信截图_074ad9a5-a58a-4a6a-b53c-542ca2f47905

0930

server.listen(8080,()=>{
    console.log("server running at http://127.0.0.1:8080")
})

1001

  • ES6学习——正则的扩展 / 字符串新增的方法

1002

5、6节:

  • String.raw() 转义斜杠的方法(会把斜杠前面再加一个斜杠),常用于模版字符串的处理(将所有变量替换,而且对斜杠进行转义)。

String.raw()代码实现:

String.raw = function(strings,...values) {
  let output = '';
  let index;
  for(index = 0;index<values.length;index++){
    output += strings.raw[index] + values[index];
  }
  
  output += strings.raw[index]
  return output;
}
  • codePointAt() 处理4个字节储存的字符,返回一个字符的码点(十进制值)
  • Normalize()将字符的不同表示方法统一为同样的形式,Unicode正规化
  • string.matchAll(regex)返回的是遍历器,所以可以用for…of循环取出。
    遍历器的好处:如果匹配的是一个很大的数组,比较节省资源。
    遍历器转换为数组:
  方法一:
  [...string.matchAll(regex)]
  
  方法二:
  Array.from(string.matchAll(regex))

7节:数值的扩展

  • 前缀 0b 或者 0B—— 表示二进制
    前缀 0o 或者 0O——表示八进制
    转化为十进制用Number()方法
  • Number.isFinite()对非数值一律返回false
  • Number.isNaN()只对NaN返回true,对非NaN一律返回false
  • Number.isInteger()用来判断一个数值是否为整数。但在对数据精度要求较高的情况下,不建议使用,会有误判的情况。
  • Number.EPSILON表示1于大于1的最小浮点数之间的差,即是js能够表示的最小精度。误差小于这个值就可以认为不存在误差了。
    对于64位浮点数来说,大于1的最小浮点数相当于二进制的1.00…001小数点后面有连续51个零。这个值减去1之后,就等于2的-52次方。

1003

ES6 -8节学习:

1.ES6参数变量是默认声明的,所以不能用let或者const再次声明、不能有同名函数。

2.参数默认值是惰性求值的。

3.ES6中undefined会触发默认值,null不会触发默认值

4.利用参数默认值可以指定某一个参数不得省略,如果省略就抛出一个错误。将参数设置为undefined则表示这个参数是可以省略的。

5.如果箭头函数不需要参数或需要多个参数,就使用一个圆括号代表参数部分

6.rest参数:

function(a,b,...theArgs){
//...
}

arguments是一个对应于传递给函数的参数的类数组对象。

7.箭头函数可以让setTimeout里面的this,绑定定义时所在的作用域s1,而不是指向运行时所在的作用域s2。
image-20201004211158080
8.箭头函数可以让this指向固定化。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值