변수가 "myvar"인 varName
입니다. 이름이 variablemyVar
이되도록 variable
의 이름과 varName
의 내용을 가진 변수를 만들고 싶습니다.JavaScript에 변수 이름에 변수가 있습니다.
어떻게하면됩니까?
변수가 "myvar"인 varName
입니다. 이름이 variablemyVar
이되도록 variable
의 이름과 varName
의 내용을 가진 변수를 만들고 싶습니다.JavaScript에 변수 이름에 변수가 있습니다.
어떻게하면됩니까?
당신은 변수 지구를 만들 것입니다
window["variable" + varName] = 42;
console.log(variablemyvar); // 42
이 작업을 수행 할 수 있습니다. 가능하면 window
대신, 당신은 완전히 즉
var myObject = {
someOtherVariable: 1337
};
myObject["variable" + varName] = 42;
console.log(myObject.variablemyvar); // 42
그러나 당신이이 일을 피해야한다 어떤 범위 (객체)를 사용할 수 있습니다. 그 이유는 다음과 같은 코드가 쉽게 분리된다는 것입니다. 나중에 변수의 이름을 바꾸고 싶다고합시다. 대부분의 경우 IDE를 간과 할 것입니다. 또 다른 이유는 코드 축소 기가이를 최소화하지 못한다는 것입니다. 공격자를 "공격적"으로 설정하면 축소하는 동안 코드가 손상 될 수도 있습니다.
마지막으로, 특히 window
과 함께 첫 번째 예제를 사용하면 전역 변수는 나쁜 습관으로 간주되며 선언 한 방법과 관계없이 항상 피해야합니다.
또한 사실로 설명하기보다는이를 수행하지 않는 것이 좋습니다. –
몇 가지 이유가 추가되었습니다. 더 많이 가지고 있다면, 그것들을 자유롭게 편집하십시오 :) –
사실 정확한 제목을 검색하면 위의 복제본을 가져 왔습니다. :) – epascarello