Javascript기초문법- variable(1)

전은하·2024년 7월 4일

자바스크립트기초

목록 보기
2/23

변수(variable)

변수는 변하는 값을 저장할 수 있는 메모리 공간. 데이터를 담을 수 있는 그릇이라고 할 수 있다.
변수에는 데이터가 오직 한 개만 저장되며 만약 새로운 데이터가 들어오면 기존에 있던 데이터는 사라지고 마지막에 들어온 데이터만 남는다.이처럼 변수는 프로그램을 실행하는 동안 값이 여러 번 달라질 수있는 데이터를 가리킨다.

변수에 담을 수 있는 데이터의 종류로는 문자형(String),숫자형(Number),논리형(Boolean),그리고빈(Null)데이터와 undefined데이터가 있다.

변수 선언

변수를 사용할 준비를 하는 과정을 '변수 선언'이라고 한다. 변수를 선언할 때에는 var 키워드(또는 let ,const)를 변수명 앞에 붙여준다.
변수명에는 한글을 사용할 수 없으며, 영문과 숫자 그리고 일부 특수문자(_,$)만 포함 할 수있다. 변수명은 의미에 맞게 만드는 것이 좋다.
예를 들어 사용자의 이름을 넣을 변수라면 var userName = '김땡땡'; 이런 식으로 짓는 것이 좋다. 만약 변수명이 단어와 단어의 조합으로 되어 있다면 두 번째 단어의 첫 글자는 대문자로 써준다. 이런 코딩 컨벤션을 낙타의 등모양과 닮았다고 하여 '카멜 표기법'이라고 함. 또는 user_name 이런식으로 지어도 된다.

[기본형]

1.var 변수명 = 값; => 변수안에 초기값을 넣어 초기화한 상태.
2.var 변수명; 값없이 => 변수를 만든 상태.

이때 '='기호를 사용해서 변수에 값을 저장할 수 있다. 이것을 값 할당이라고 한다. 값 할당은 변수를 선언한 후에 따로 할 수도 있고, 변수를 선언하면서 동시에 할 수도 있다.

*document.write('데이터')

브라우저에 ('') 안에 있는 문자를 표시할때 사용하는 문법으로 document는 html문서를 의미한다.

*console.log('데이터')

브라우저 개발자 도구에 '콘솔창'이라는 것이 있다. 이 콘솔창에서는 자바스크립트 코드의 진행같은 것을 간단하게 출력해 볼 수있다. 콘솔창에 데이터 결과를 확인하고 싶을때 consol.log()를 사용한다. 이때 consol은 콘솔창을 의미하며, 콘솔에 기록한다는 의미이다.

위의 이미지와 같이 var num =3;은 변수를 선언하고 변수명을 num으로 지정하며 초깃값은 3이라는 의미이다.
값을 변경할때에는 num = 10; 과 같이 값을 변경해서 입력하면 변수 num에 나중값이 다시 지정된다.


var를 이용한 변수의 특징 - 호이스팅

자바스크립트에서 변수를 사용할 때 조심해야 하는 개념이 있다.
바로 '호이스팅 hoisting'이라고 하는데, 호이스팅이란 '끌어올리다'라는 뜻을 가지고 있다.
상황에 따라 변수의 선언과 할당을 분리해서 선언 부분을 스코프의 가장 위쪽으로 끌어올리는 것을 말한다. 이떄 스코프는 유효범위를 뜻한다.

끌어올린다고 해서 실제로 소스코드가 맨 위로 올라간다는 것이 아니라, 그런식으로
자바스크립트 엔진이 해석한다는 의미이다.

스코프란(scope)?

변수를 선언하고 사용할 때 변수가 적용되는 유효범위를 뜻한다.
변수가 유효하게 쓰일 수 있는 영역을 가리키는 것이다.
자바스크립트에서 함수에서 변수를 사용할 때 이 영역에 주의해야 한다.
한 함수 안에서만 사용하고 다른 함수에서 사용할 수 없는 변수가 있는가 하면,
어느 함수에서나 다 사용할 수 있는 변수가 있다.
이렇게 함수에서만 사용할 수 있는 변수를 '지역변수' 또는 '로컬변수'라고 하고
어느 함수에서나 다 사용할 수 있는 변수를 '전역변수' 또는 '글로벌변수'라고 한다.
전역변수는 잘 사용하지않는다. 전역=함수영역을 뜻하며 함수영역은 script전체영역을 말함.

함수 안에서만 쓸 수있는 지역변수

지역변수는 함수 안에서 선언하고 함수 안에서만 사용한다.
지역변수를 선언하려면 예약어 var와 함께 변수 이름을 함수 안에서 지정해야한다.
지역변수는 비유하자면 건전지와 비슷하다.
건전지는 기계 안에 들어있으면 그 기계안에서만 사용할 수 있듯이
지역변수로 만들어 놓으면 그 함수 안에서만 사용할 수 있다.

아래 예제를 보면 console.log(sum)을 실행했을 때 'sum is not defined'라는 에러 메세지가 뜨게되는데 이유는 sum이라는 변수(건전지)는 addNum 함수 안에서 선언되었기 때문에
유효범위를 벗어나서 에러메세지가 뜨는 것이다.

스크립트 전역에서 쓸 수 있는 전역변수

전역 변수는 적용 범위를 제한하지 않고 쓸 수 있다.
즉, 전역 변수는 지역변수와 달리 스크립트 소스 코드 전체에서 사용할 수 있다.
비유하자면 건전지가 기계 안에 있지 않고 집안에 있다면 어느 기계든 건전지를 사용할 수 있듯이 밖에 나와있는 건전지와 비슷하다.

변수를 전역으로 사용할때에는 함수 밖에서 선언하거나, var 예약어를 생략하고 선언해야 한다.

예시)

profile
안녕하세요

0개의 댓글