>  기사  >  웹 프론트엔드  >  ES6의 함수 확장 튜토리얼 예시

ES6의 함수 확장 튜토리얼 예시

零下一度
零下一度원래의
2017-06-26 09:56:081349검색

기능 확장 방향에서도 몇 가지 새로운 기능이 추가되었는데, 이 기능들도 매우 중요하다고 생각합니다

  1. 매개변수 기본값 ​(참고: 기본값이 없는 매개변수는 이후에 추가할 수 없습니다.

{  function test(x, y = 'world'){
    console.log('默认值',x,y);
  }
  test('hello');//hello world
  test('hello','kill');//hello kill
}
{
  let x='test';  function test2(x,y=x){
    console.log('作用域',x,y);
  }
  test2('kill');//kill kill  这里涉及到作用域的问题   函数里面具有单独的作用域  只有没有x的时候 才会继承let所声明的x
}

  2. 나머지 매개변수(...)는 일련의 이산 값을 배열로 변환합니다. 마찬가지로 나머지 매개변수는 더 이상 있을 수 없습니다.

{  function test3(...arg){for(let v of arg){
      console.log('rest',v);
    }
  }
  test3(1,2,3,4,'a');
}

  3. 스프레드 연산자(...)는 배열을 일련의 이산 값으로 변환합니다. ​​ 

{
  console.log(...[1,2,4]);
  console.log('a',...[1,2,4]);
}

  IV. 이해합니다!!!) 예를 들어 a=>a*2 a는 매개변수, a*2는 반환 값 => 함수의 기호로 매개변수가 전달되지 않을 경우 ( )

{
  let arrow = v => v*2;
  let arrow2 = () => 5;
  console.log('arrow',arrow(3));//6
  console.log(arrow2());//5

}

 5. 함수가 다른 함수를 중첩하는 경우 테일 호출을 고려할 수 있습니다

{  function tail(x){
    console.log('tail',x);
  }  function fx(x){return tail(x)
  }
  fx(123)// tail 123
}

위 내용은 ES6의 함수 확장 튜토리얼 예시의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.