JS 소스를 보다 보면 가끔 소괄호로 둘러쌓인 함수나 코드들이 보인다.
(function ()
..
)
혹은
var a, b;
({a, b} = {a: 1, b: 2});
참고: 할당 문을 둘러싼 ( .. )는 선언 없이 객체 리터럴(object literal) 비구조화 할당을 사용할 때 필요한 구문입니다.
{a, b} = {a:1, b:2}는 유효한 독립 구문이 아닙니다. 좌변의 {a, b}이 객체 리터럴이 아닌 블록으로 간주되기 때문입니다.
하지만, ({a, b} = {a:1, b:2})는 유효한데, var {a, b} = {a:1, b:2}와 같습니다.
( .. ) 표현식 앞에는 세미콜론이 있어야 합니다. 그렇지 않을 경우 이전 줄과 연결되어 함수를 실행하는데 이용될 수 있습니다.
참고는 MDN의 내용이다. 선언없이 사용을 할수 있게 하는 구문
표현식 앞에는 세미콜론이 있어야 한다는 말은 만약 (...) 구문의 앞에
function () { ...} 이 있으면 잘못하면 시스템은
function () { ...}(...) 이렇게 연결 시켜서 인식할수 있으니
function () { ...}; (...) 이렇게 나누라는 예기인듯 하다.
이구문은 이전에 타 언어를 할때도 나오는 부분이다.
Random ran = new Random();
int men = ran.Next(1,4);
int men = (new Random()).Next(1,4);
이렇게 사용이 가능
(솔직히 가물가물하다 ㅎ)
'Learning > Javascript' 카테고리의 다른 글
논리연산자 && || ! (0) | 2021.01.31 |
---|---|
addEventListener 와 자주 사용하는 event (0) | 2021.01.10 |
함수 매개변수의 기본값 설정하기-삼항 연산자 , = === 사용 (0) | 2021.01.08 |
배열의 구조분해 - 선언 시 중괄호{}, 대괄호[] 사용 (0) | 2021.01.08 |
JavaScript 객체 지향 프로그래밍 강좌 정독 완료 (0) | 2020.12.06 |