ES6은 "화살표"(=>)를 사용하여 함수를 정의 할 수 있습니다. 이들은 함수 이며이 방법을 사용하여 클래스 (생성자)를 정의하지 마십시오.
1. 구문
1. 하나의 매개 변수가있는 간단한 기능
var single = a => asingle ( 'hello, world') // 'hello, world'
2. 매개 변수가없는 경우 화살표 앞에 괄호를 사용해야합니다.
var log = () => {alert ( 'no param')}3. 다중 매개 변수에는 괄호가 필요하고 두 숫자 추가와 같은 매개 변수 간의 쉼표 간격
var add = (a, b) => a + badd (3, 8) // 11
4. 기능 본체의 여러 문장에는 곱슬 버팀대가 필요합니다.
var add = (a, b) => {if (typeof a == '번호'&& typeof b == '숫자') {return a + b} else {return 0}}5. 객체를 반환 할 때는 버팀대가 코드 블록으로 해석되기 때문에 객체를 괄호로 감아 야합니다.
var gethash = arr => {// ... return ({name : 'jack', age : 33})}6. 이벤트 핸들러로 직접
document.addeventListener ( 'click', ev => {console.log (ev)})7. 콜백을 배열로 정렬하십시오
var arr = [1, 9, 2, 4, 3, 8] .sort ((a, b) => {if (a -b> 0) {return 1} else {return -1}}) arr // [1, 2, 3, 4, 8, 9]2.주의를 기울이십시오
1. 연산자 유형은 일반 함수와 동일합니다.
var func = a => aconsole.log (typeof func); // "기능"
2. 인스턴스는 또한 true를 반환하여 기능의 인스턴스임을 나타냅니다.
console.log (func instanceof function); // 진실
3. 이것은 고정되어 더 이상 변할 수 없습니다
obj = {data : [ 'John Backus', 'John Hopcroft'], init : function () {document.onclick = ev => {alert (this.data) // [ 'John Backus', 'John Hopcroft']} // hoception.onclick = function (ev) {// alert (this.data) //}}}} 이것은 매우 유용하고, 더 이상 me self _this bind 필요가 없습니다.
4. 화살표 기능은 새로 사용할 수 없습니다
var person = (이름, age) => {this.name = name this.age = age} var p = new func ( 'John', 33) // 오류5. 인수는 사용할 수 없습니다
var func = () => {console.log (arguments)} func (55) //5의 경우, Firefox36의 테스트는 55를 출력 할 수 있으며 제한이없는 것 같습니다.
3. 요약
위는 ES6의 화살표 기능에 대한 전체 소개입니다. 모든 사람에게 도움이되기를 바랍니다. 궁금한 점이 있으면 메시지를 남겨 두십시오.