알고리즘
(function(){})() 이 구조는??
Hot Dobby
2020. 11. 11. 20:06
IIFE(Immediately-invoked function expression: 즉시 작동하는 함수식)라는 구문입니다. 코드의 충돌을 방지하고 따로 함수 실행 구문을 안 써도 바로 함수를 실행할 수 있습니다!
let allAnagrams = function (string) {
var uniqueOutput = {};
// 객체를 설정하고
//IIFE의 구조로 괄호 안에 있는 함수를 바로 실행!
(function anagram(ana, str) {
if (str === '') {
uniqueOutput[ana] = 1;
}
for (var i = 0; i < str.length; i++) {
anagram(ana + str[i], str.slice(0, i) + str.slice(i + 1));
}
})('', string);
//여기 뒤에 오는 빈스트링과 스트링인자가 함수의 매개변수로 들어간다.
return Object.keys(uniqueOutput);
};