2016-09-20 1 views
4

방금 ​​새로운 작업을 시작했고 유지할 몇 가지 반응 코드가 있습니다. authenticationHandlers.js이라는 파일이 있습니다. 코드가 파일 내부에있는 것입니다.내가 만난이 자바 스크립트 구문에 익숙하지 않다

const events = require("./authenticationEvents.js"); 

const authenticationHandlers = { 
    [events.Errored.Name](prev, event) { 
     const update = { 
      UnauthorizedError: event.Error 
     }; 

     return Object.assign({}, prev, update); 
    }, 
    [events.ClearError.Name](prev, event) { 
     const update = { 
      UnauthorizedError: null 
     }; 

     return Object.assign({}, prev, update); 
    } 
}; 

module.exports = authenticationHandlers; 

정말 코드의 기능 만 브래킷 구문 라인 [events.Erorred.Name]에서 수행하고 즉 [events.ClearError.Name]

무엇 브라켓은 무엇을 의미합니까에 대한 질문이 없습니다? 예를 들어

: 당신은 속성 이름으로 변수를 사용할 수 있도록

+1

이벤트 객체의 이름을 가진 두 개의 함수를 정의하려는 것처럼 보입니다. – klikas

답변

5

그것은이다

const a = 'banana'; 
 
const fnName = 'pudding'; 
 

 
const b = { 
 
    [a]: 42, 
 
    [fnName]() { 
 
     console.log(`I am logging from ${fnName}`); 
 
    } 
 
}; 
 

 
console.log(b); //{banana: 42, pudding: fn} 
 
b[fnName]();
계산 된 속성 이름이라고합니다

관련 문제