zoukankan      html  css  js  c++  java
  • es6的阅读收获

    这里只是我本人自己的收获,所以不会详细的列出知识点,若是想了解可以直接去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
    ${2+3}!`;
    // 返回 "Hi\n5!"
    
    String.raw`Hiu000A!`;
    // 返回 "Hi\u000A!"
    4.数值的扩展
    ①Number.isInteger()判断一个数值是否为一个整数
    ②number.paseInt()和number.paseFloat()
    还有一些对数和指数一类的可以直接到官网查找
    5.函数的扩展
    ①函数的length属性是函数的参数个数-函数参数默认值个数
    ②rest参数用来获取函数多余的参数---rest参数之后不能在有其他参数不然会报错(函数的length不包含rest参数)
    ③.name返回函数名
    6.箭头函数
    ①在箭头的左边是函数的参数,右边是return的值
    注意:--箭头函数里的this是指定义时所在的对象,而不是使用时所在的对象
    --不可以当做构造函数,不可以使用new命令
    --不可以使用yield命令
    ②箭头函数的嵌套可以在官网查看


  • 相关阅读:
    单例
    Label自适应高度
    通知中心(以夜间模式为例)
    ios VFL屏幕自适应
    网络请求数据(同步POST,异步POST)
    linux 设备文件
    linux 文件存取 软硬联接的区别
    linux 磁盘管理与文件系统
    linux开机过程
    Build Antlr4 projects with eclipse java project template.
  • 原文地址:https://www.cnblogs.com/wtt577474/p/10335528.html
Copyright © 2011-2022 走看看