《ECMAScript 6 入门》学习

    科技2022-07-20  126

    0927

    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节:字符串的拓展学习

    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()对非数值一律返回falseNumber.isNaN()只对NaN返回true,对非NaN一律返回falseNumber.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。 8.箭头函数可以让this指向固定化。

    Processed: 0.011, SQL: 8