언어에 있어서 늘 1장에 나오는 것은 변수, 자료형, 뭐 이런 것들...
크게 다르지 않을거라고 생각합니다. JS 자체의 스크립트 언어 뭐 이런 특성들은 도큐먼트라던가 참조할만한 곳들이 많아서
설명은 생략합니다.
다른 블로그나 요약본에 변수라는 단어의 정의를 잘 내렸겠지만 간단하게
위 이미지 처럼 비커에 무언가 담아두고 네임택에 붙여놓는 것! 즉 저 비커 자체가 변수라고 생각을 하고 있고
초심자들이나 과외 학생들에게 가르친 경험이 있다.
실제로 비커를 하나 갖고와서 배치하는 것자체가 공간을 차지하는 행위이고 (메모리 관점에서)
이 비커에는 정수형만 받기로 했는데 실수가 들어오거나 다른 자료형이 들어오면 경고문을 띄어주기도 한다.
주의점이 있다면 이름을 아무거나 막지을 수 있다곤 하지만 ide에서 예약어로 잡힌 예약어들은 '이름'으로서
사용할 수 없다. 예를 든다면 class, function, alert 뭐 이런 것들??
name = "pretty garbage"; //변수선언
age = 18; //역시 선언
//특징 javascript는 자료형을 굳이 명시하지 않아도 된다! 장점이자 단점...
alert(name); //팝업창으로 알림을 띄운다.
console.log(age); //콘솔창에 출력한다.
다만 위와 같이 변수를 선언하게 된다면 다른 작업자가 똑같은 이름으로 변수 선언을 했을 때 이슈가 있다고 합니다.
**마지막에 선언한 곳으로 덮어씌워진다.**
사실 이건 다른 컴파일 언어에서는 두번 같은 이름으로 선언하게 되면 에러를 띄우기 때문에 전혀 생각도 못했던 부분입니다만
그렇다면 어쨌든 이를 어떻게 방지할 것이냐!?
let name = "Pretty Garbage";
let name = "Normal Garbage"; //1번째 줄에서 이미 선언을 했기 때문에 에러
name = "Higest Garbage"; //평범하게 변수내에 값을 수정 가능
//즉 최초에 변수를 선언할 때 let을 붙여주면 중복 이름 변수 선언을 방지할 수 있습니다.
하지만 개발을 하다보면 상수 영역의 데이터를 선언할 일이 생깁니다.
주로 저의 경우는 스트링 키값이나 리미트 걸어놓는 값... 그 외에 써본적은 잘 없네요. 기억이 안나는건지 여튼 쓰긴 씁니다.
변수는 비커를 빗대어서 설명했지만 상수는 그 비커에 담겨진 내용물을 뚜껑을 닫아서 포장! 까지 해버린 단계로 표현하겠습니다.
최초에 초기화를 진행하면 그 이후 프로그램 내부에서 상수에 접근해서 수정이 불가능합니다.
const URL = "Http://naver.com";
const MAX_COUNT = 50; //이런식으로 선언하면 됩니다.
컴파일러 언어를 사용하다가 오신 분들에겐 아니 자료형은 왜 선언하지 않아???라고 의문을 갖을 수 있습니다.
주석에도 적었지만. 자바스크립트는 제가 알기론 추론해서 해당 데이터 값에 맞는 자료형으로 선언이 되어집니다.
이게 장점이자 단점인데 알아서 추론해서 자료형을 선언해준다고? 개편하자나!? 응 깊이가 깊어질 수록 복잡해져-
예를 들자면 아래와 같습니다.
let a = 10;
a = true; //ㅇㅇ??? 정수형 자료형 아니었어? 갑자기 boolean형?
그리고 저게 됩니다... ㅠㅠ 혼란하다 혼란해! 그래서 이를 보완하고 더 상위 개념이라고 할 수 있는 타입 스크립트라는 것이 나왔고!
이를 공부하고자 자바스크립트 기초 공부 포스팅을 하게 되었습니다.
//요약
//변수 선언은 let
let name = "Jin";
//상수 선언은 const
const name = "Jin";
'Web > JavaScript + TypeScript' 카테고리의 다른 글
[JS] 비교 연산자 및 조건문 (0) | 2022.06.29 |
---|---|
[JS]형변환(Casting) (0) | 2022.06.22 |
[JS] alert, prompt, confirm (0) | 2022.06.22 |
[JS]자료형 (0) | 2022.06.20 |
JavaScript 기초 (0) | 2022.06.20 |