나름 공부한다고 했으나, 나의 위치는 코딩이란걸 배운지 2주차의 코린이.
혹여나 틀린내용이나 좀더 유용하게 수정할 수 있는 내용이 있다면
언제든지 피드백 바란다.
지금부터 나는 자바스크립트 (Java script)를 하나의 세계라고 표현하겠다.
세계라고 표현한 이유는, 이 안에서 무궁무진한 일이 일어날 수 있기 때문이다.
이제부터는 그 무궁무진한 일들에 초점을 맞춰보도록 하자.
이 넓은 땅위에서, 나는 농사를 지을 밭이 필요하다.
"나는 이 땅을 밭이라고 선언 하겠어."
그럼 이제 이 땅은 밭이 되는 것이다.
이와같이, 자바스크립트에게 어떠한 구역이 지정됬음을 알리는것을 "선언한다." 라고 표현한다.
하지만 선언만으로는 부족하다, 밭이라고는 선언했지만 아직 이곳은 빈 밭이다.
무언가를 해야만 한다. 그래야 이 밭은 밭으로써의 기능을 할테니까.
밭은 무엇인가? 원하는 씨앗이나 모종을 심어 결과물을 수확하는 곳이다.
밭에심게되는 씨앗이나 모종에 따라 결과물은 달라질 수 있다.
밭은 무한한 가능성을 가진 하나의 구역이 되는것이다.
무한한 가능성을 다르게 말하면, "얼마든지 변할 수 있다." 라고 표현할 수 있겠다.
그것은 곧 자바스크립트 내에서의 변수라는 개념으로써,
얼마든지 변할 수 있는 요소를 담을 수 있는 하나의 구역을 형성하게 된다.
자, 이제 나는 이곳을 내가 심을것에 따라 얼마든지 변할 수 있는 가능성을 가진
밭이라고 선언을 하였다. - 선언과 변수
이제 남은것은 이곳에 무엇을 심을지를 정하는 것이다.
딸기를 심으면 딸기밭이 되고, 포도를 심으면 포도밭이 될것이다.
이처럼 변수인 밭에 어떠한 요소를 적용시키는 것을 "할당한다." 라고 표현한다.
"나는 이곳을 밭이라고 선언하고, 이 밭엔 딸기나무를 심겠어."
자, 이제 이 문장을 자바스크립트 내의 코드로 변환하여 대입해보자.
let 밭 = '딸기나무';
이 정도이지 않을까? 좀 억지같지만 그래도 나는 이렇게 이해하려고 했다.
스토리텔링이 좀 길긴했지만, 그래도 머릿속에 정확히 자리잡는다면 만족한다.
그리고 이 개념들이 확실하게 정리가 되지 않으면 앞으로의 심화과정에선 어려움과 충돌한다.
이 세가지의 개념들은 기본으로 들어가게 되고, 이제 이곳에서 다른 변화가 추가되기때문이다.
또 예를 들어보자,
"이 밭의 딸기나무의 딸기중에서 5cm 이상의 딸기만 재배해 주세요."
"이 밭의 딸기나무중에서 딸기가 10개 이상 달려있는 나무에서만 재배를 해주세요."
이와같이 어떤 딸기를 딸지, 또 어떤 조건에서 딸기를딸지, 수많은 고객의 요청이 생길것이다.
우리는 그 요청에 맞게 딸기를 재배해야 할것이고, 또 그 요청은 농사를 짓는 한 수 없이 많을것이다.
이때, 우리는 우리의 일을 좀더 수월하게 하기위해서 "틀"을 만들어 놓을 것이다.
어떠한 조건에 맞게,또는 반복되는 일을 빠르게 하기위해 상황에 맞는 틀을 만들것이고
그 틀은 저 위의 기본식에서 하나하나 추가하며 심화되어 완성될 것이다.
그러므로 선언/변수/할당 이란 개념은 코딩(농사)을 함에 있어 가장 중요한 기본요소라고 할 수 있겠다.
앞으로 공부해나갈 또 다른 문제를 해결하기 위해 열심히 공부해야된다.
물론 나도 마찬가지이다. 부족한 글실력으로 조금이나마 이해를 도왔기를 바란다.