zoukankan      html  css  js  c++  java
  • es6常用语法学习笔记(一)

    1.let和const的常规使用

    • let声明的变量不存在预解析
    • let声明的变量不允许重复使用(在同一个作用域内)
    • ES6引入了块级作用域{},块内部定义的变量,在外部是不可以访问到的
    • 使用let在for循环括号中声明的变量只能在循环体中使用
    • 在块级作用域内部,变量只能先声明在使用
    • const用来声明常量,声明后不允许重新赋值
    • const声明的变量必须初始化

    2.变量的解构赋值

    • 数组的解构赋值
    var [a,b,c] = [1,2,3];
    console.log(a,b,c); //1,2,3
    var [a,b,c] = [,2,];
    console.log(a,b,c); //undefined,2,undefined
    var [a=11,b,c] = [,2,];
    console.log(a,b,c); //11,2,undefined
    • 对象的解构赋值let {foo,bar} = {foo:"hello",bar:"hi"};
    console.log(foo,bar); //hello,hi
    let {foo:abc,bar} = {foo:"hello",bar:"hi"};//给foo起个别名叫abc
    console.log(abc,bar); //在使用的时候就要用abc,否则会报错
    let {cos,sin,random} = Math; //直接去对象里边找对应的函数
    let {foo:abc="hello",bar} = {bar:"hi"}; //对象解构赋值设置默认值

      把对应属性的值赋值给变量,跟对象里属性的顺序无关

    • 字符串的解构赋值
    let [a,b,c,d,e] = "hello";
    console.log(a,b,c,d,e); // h e l l o
    let {length} = "nihao" console.log(length); //5

    3.字符串扩展

     includes()//判断字符串包含指定字符,参数2表示从第几个字符开始匹配
    console.log("hello world".includes("world",7)) //false
    
    • startsWith()判断字符串中是否以某字符开头
    • endsWith()判断字符串中是否以某字符结尾
    • 模板字符串

      

    var obj = {
        username:"zs"
    }
    console.log(`<div>${obj.username}</div>`);

    4.函数扩展

    • 参数默认值
    function foo(param = "nihao"){console.log(param)} //nihao
    • 参数解构赋值
    function foo({uname,age}={}){}  foo({uname:"lisi",age:12})
    • rest参数(剩余参数)
    function foo(a,b,...param){console.log(param);} 
    foo(1,2,3,4,5) //1,2,[3,4,5]
    • 扩展运算符
    function foo(a,b,c,d,e,f){console.log(a+b+c+d+e+f)}  
    let arr=[1,2,3,4,5,6] 
    foo(...arr) //15

    5.箭头函数

    function foo (v){ return v} 等效于let foo = v => v  //函数体只有一行代码可以省略大括号

    箭头函数体内的this对象,就是定义时所在的对象,而不是调用时所在的对象,箭头函数导致this总是指向函数定义生效时所在的对象。

    箭头函数不可以new

    箭头函数不可以使用arguments获取参数列表

  • 相关阅读:
    Java和JavaScript的时间互传
    session.createQuery()不执行和java.lang.reflect.InvocationTargetException
    [转载]标签a的href和onclick
    [转载]前端优化指南
    POJ1328-Radar Installation
    POJ1323-Game Prediction
    codinglife主题小修改和有意思的博客挂件
    POJ1050-To the Max
    HDU4323-Magic Number(levenshtein distance-编辑距离)
    HDU2955-Robberies
  • 原文地址:https://www.cnblogs.com/zmyxixihaha/p/10604224.html
Copyright © 2011-2022 走看看