zoukankan      html  css  js  c++  java
  • es6常用方法总结

    1.let, const 都是块级作用域,其有效范围仅在代码块中。
    //es5
    if(a==1){
      var b = 'xxx';
    }
    console.log(b);//xxx
    
    //es6
    if(a==1){
      let b = 'xxx';
    }
    console.log(b);//undefined
    ----------------------------------------
    const sum = {num1:1,num2:2};
    sum.num2 = 6;
    console.log(sum);//{num1:1,num2:6}
    常量只是指向了对象的指针,对象本身的内容却依然可以被修改
    -------------------------------------------------------------
    2.模板字符串
    //es5
    $('#mark').append(
      '出售中 <span>' + obj.num + '</span> ' +
      '剩下的, ' +'<span>' + obj.showNum +'</span> 卖完了!');
    //es6
    //在es6中,内容模板,可以定义在 `` 包起来的字符串中,其中的内容会保持原有格式
    //另外可以在字符串中直接使用模板语言进行变量填充,优雅而简洁
    $('#mark').append(`
      出售 <span>${obj.num}</span> 剩下 <span>${obj.showNum}</span>`);
    -------------------------------------------------------------
    3.字符串遍历输出,补全
    for(let item of 'str'){
      console.log(item);
    }
    //s
    //t
    //r
    -----------------------------------------------
    //参数1:[number] 目标字符串长度
    //参数2:[string] 进行补全的字符串
    '123'.padStart(5, '0')//00123 - 字符串不足5位,在头部补充不足长度的目标字符串
    '345'.padEnd(5, '0')//34500 - 在尾部进行字符串补全
    -------------------------------------------------------------
    4.数组扩展
    let a = [1, 2];
    let b = [2,3];
    let c = [...a, ...b];//[1, 2, 2, 3] 所有内容合并,但并不会去除重复
    ---------------------------------------------------
    Array.of(3,4,5)//快速转换为数组 [3,4,5]
    -------------------------------------------------------------
    .keys() - 获得数组中所有元素的键名(实际上就是下标索引号)
    .values() - 获得数组中所有元素的数据
    .entries() - 获得数组中所有数据的键名和数据
    for (let i of ['x', 'y'].keys()) {
      console.log(i); //0 1
    }
    -----------------------------------
    for (let elem of ['x', 'y'].values()) {
      console.log(elem); //x y
    }
    -----------------------------------
    for (let [index, elem] of ['x', 'y'].entries()) {
      console.log(index, elem); // 0 "x"    1 "y"
    }
    -------------------------------------------------------------
    5.对象扩展
    //直接使用变量/常量的名称个为对象属性的名称
    let a = 'abc';
    let b = {a};//{a: 'abc'}
    -----------------------------------
    判断对象是否为数组
    if(Object.isArray(obj)){}
    -----------------------------------
    对象内容合并
    Object.keys() - 获得对象中所有的键名,以数组的形式返回
    var obj = { a:1,b:2 };
    var names = Object.keys(obj);//['a', 'b']
    -----------------------------------
    Object.values() - 获得对象中所有的值内容,以数组的形式返回
    var obj = { a:1,b:2 };
    var values = Object.values(obj);//[1, 2]
    -----------------------------------
    Object.entries() - 获得对象中所有的成员数据,以数组的形式返回,成员的内容也是数组形式
    var obj = { a:1,b:2 };
    var values = Object.entries(obj);//[['a',1], ['b',2]]
    -------------------------------------------------------------
    解构赋值
    let [a, …b] = [1,2,3];
    //这里 b 的值为[2,3],这样可以快速使用剩余的数据赋值给变量,
    let [a, b, c] = [1, 2, 3];
    //定义了三个变量,并对应赋了值;如果值的个数与变量名个数不匹配,没有对应上的变量值为 undefinedlet obj = {a: 1, b: 2};
    let {a, b} = obj;//a=1,b=2
    使用变量的方式进行结构赋值,需要严格匹配名称,数组的模式是严格匹配下标
    -------------------------------------------------------------
    6.模块化
    //app.js
    let act = {a:1,b:2,c:3};
    export default act;
    //index.js import act from 'app.js';//假设 app.js 与index.js 同在一个目录中 console.log(act.a);//1
  • 相关阅读:
    看一下有没有好的解决方案!
    netinet/in.h详细介绍
    【合集】zz数组与指针的艺术深入探索c/c++数组与指针
    struct sockaddr与struct sockaddr_in ,struct sockaddr_un的区别和联系
    C Socket实例
    C语言中malloc与free
    函数fp()、数组a[i]和箭头符号>的由来
    linux gcc编译错误
    怎样检测内存泄露
    dlmalloc解析连载完结【总】
  • 原文地址:https://www.cnblogs.com/lhl66/p/8862106.html
Copyright © 2011-2022 走看看