var geval = eval;
var y = 'global';
function g() {
var y = 'local';
geval('y += "changed";');
return y;
}
console.log(g(), y); // local globalchanged
코뿔소책 보면서 해보는데
첫번째 geval이나 y 선언할 때 둘중 최소 하나에서 var을 빼줘야 에러가 안남
당최 이유를 모르겠네
ReferenceError: y is not defined
이런 에러가 나는데...
y 분명히 선언했는데도 왜 그러지?
전역에서는 var 쓰나 안쓰나 같은 거 아님??
참고로 node.js 7.x로 실행해봄
헐 근데 크롬 콘솔창에서는 되네. 대체 뭔 차이지.
읭 이상하네요
노드면 global 자체를 콘솔에 찍어보시는게
global 자체를 찍어보라는 말씀이 global에 선언된 y를 찍어보라는 말씀이신가요? 해봤더니 정상적으로 출력됩니다. ㅠㅠ 계속 저 geval 부분에서 에러가 나네요. 안 될 이유가 없고, 코뿔소책꺼 그대로 복사에서 해봐도.. 크롬에서 되는 걸로봐서는 버그인지..
아녀 크롬환경 window같은거 있는데 이름이 global이에요