안녕하세요. 책에 설명된 내용 중에서 잘 이해가 안되는 부분이 있어서 질문드립니다. 75페이지의 2번째 단락에서 보면, "여기서 context는 간단하게 ctx로 사용 가능합니다. 단 canvas.getContext('2d');에서 사용된 Context는 ctx로 사용하면 안 됩니다." 라고 설명이 되어 있는데요. 그렇다면 어떤 경우에 context를 ctx로 사용할 수 있다는 것인지 잘 이해가 되질 않습니다. 부연 설명 좀 부탁드릴게요.
canvas.getContext('2d'); 이 부분을 canvas.getCtx('2d'); 로 사용하면 안된다는 것입니다. context 로 시작하는 부분 예를 들어 context.beginpath(); 이런 경우는 ctx.beginPath(); 로 사용할 수 있지만 context 가 다른 함수 또는 변수의 중간에 들어갈 경우 축약형을 사용해선 안된다는 의미입니다.
2014.01.14 17:42:50 (*.55.73.140)
anycall
네. 그런데 72페이지에 보면 ctx를 사용하고 있는데요. 여기 경우에 변수값을 ctx 즉, var ctx = canvas.getContext("2d"); 와 같이 지정했기 때문에 ctx를 사용하는 것이 아닌가요? 72페이지의 소스에서 ctx대신에 context를 사용할 수는 없는것 아닌가요? 마찬가지로 74페이지에서도 변수값을 context로 지정했기 때문에 context만 사용이 가능하고 ctx는 사용불가한 것이 아닌지요???
2014.01.20 15:44:20 (*.8.73.101)
유지아빠
74페이지에서 변수값 context 는 ctx로 사용할 수 있습니다. 즉 var context 는 var ctx로 사용 가능합니다.
2014.01.20 16:02:22 (*.55.72.130)
anycall
제가 질문드리는 부분은 var context를 var ctx로 사용할 수 없다는 것이 아니라 결국 context나 ctx 모두 단순히 변수명이 아닌가 하는 겁니다. 즉, var context 대신에 var aaa 혹은 var abc 모두 가능하지 않는냐는 거죠? 그렇기 때문에 75페이지와 같이 "여기서 context는 간단하게 ctx로 사용 가능합니다."라는 설명은 불필요하고 혼돈을 주는 내용이 아닌가 하는 것입니다.
2014.01.23 15:27:03 (*.8.73.101)
유지아빠
"여기서 context는 간단하게 ctx로 사용 가능합니다."라는 설명은 불필요하지 않습니다. 프로그래밍에서는 축약형을 자주 사용하는데, 함수로 지정된 부분에 대해서 context 는 ctx라고 사용가능하다 라는 의미입니다. var 라고 변수를 지정할 때문 축약형을 사용하면 안된다 라는 의미인데, 제가 보충 설명이 조금 부족하게 적은것 같네요.
2014.01.23 20:49:41 (*.55.70.66)
anycall
그런데 var context에서 context는 함수가 아니고 변수라고 생각이 되어집니다. 함수라면 function으로 선언하거나 내장함수라면 var를 이용하지 않는다고 보여지는데요... 그리고 var aaa;나 var abc; 도 코딩해서 적용했을때 정상적으로 동작을 합니다. 저도 자바스크립트는 이해하고 있는 프로그래밍 언어이다 보니....여전히 이 부분에 대해서 저자님 말씀이 납득이 되지 않네요.