ES6 - 함수의 확장 - 콜론 연산자

1172 단어 ES6
화살표 함수는this대상을 연결할 수 있어 현식귀속this대상의 쓰기(call,apply,bind)를 크게 줄일 수 있다.그러나 화살표 함수는 모든 장소에 적용되지 않기 때문에 콜, apply,bind 호출을 대체하는'함수 귀속'(function bind) 연산자를 제안합니다.
함수 귀속 연산자는 두 개의 짝퉁(:)이고 짝퉁은 왼쪽에 하나의 대상이고 오른쪽에 하나의 함수이다.개산자는 자동으로 왼쪽의 대상을 상하문 환경(즉this 대상)으로 오른쪽의 함수 위에 귀속시킨다.
 
foo::bar;
//    
bar.bind(foo);

foo::bar(...arguments);
//    
bar.apply(foo, arguments);

const hasOwnProperty = Object.prototype.hasOwnProperty;
function hasOwn(obj, key) {
  return obj::hasOwnProperty(key);
}

만약 짝퉁이 왼쪽이 비어 있다면, 오른쪽이 하나의 대상인 방법은 이 방법을 이 대상에 귀속시키는 것과 같다.
 
 
var method = obj::obj.foo;
//    
var method = ::obj.foo;

let log = ::console.log;
//    
var log = console.log.bind(console);

짝퉁 연산자의 연산 결과는 하나의 대상이기 때문에 체인식으로 쓸 수 있다.
 
 
//   
import { map, takeWhile, forEach } from "iterlib";

getPlayers()
::map(x => x.character())
::takeWhile(x => x.strength > 100)
::forEach(x => console.log(x));

//   
let { find, html } = jake;

document.querySelectorAll("div.myClass")
::find("p")
::html("hahaha");

 
 

좋은 웹페이지 즐겨찾기