자바스크립트에서의 변수와 상수
변수
데이터를 저장하는 공간. 데이터가 변할 수 있음.
특히 자바스크립트는 변수에 숫자와 문자 뿐만 아니라 함수와 클래스까지 저장이 가능함
변수를 선언하는 방법
/*문법*/
var 변수명 = 값;
let 변수명 = 값;
★ var: 자바스크립트에서 변수 선언을 의미하는 키워드
★ let : 자바스크립트에서 변수 선언을 의미하는 키워드, var와 차이점은 변수 중복 선언이 불가하다는 것!
재할당은 가능하므로,,
재할당 할 경우 let 키워드를 제외하고 선언하면 된다.
ex) let grade = "F";
grade = "A+";
- 문자열을 할당할 시 큰따옴표("")나 작은따옴표('')로 감싸야 된다. (안그러면 오류 발생)
- 자바스크립트에서 변수 선언은 선언 > 초기화 단계를 거쳐 수행된다.
상수
데이터를 저장하는 공간. 데이터가 변할 수 없음. (재할당 불가)
상수를 선언하는 방법
/*문법*/
const 상수명 = 값;
변수와 상수의 차이
var name = "홍길동";
console.log(name);
var name = "유관순";
console.log(name);
==> var로 선언했기 때문에(변수이기 때문에) 에러를 표시하지 않는다,
name 변수에 홍길동이라고 저장되었던 값이 유관순으로 재정의 되었기 때문에!
let name = "홍길동";
console.log(name);
let name = "유관순";
console.log(name);
==> let으로 선언했기 때문에(상수) 이미 정의되어 있는 이름이라고 오류가 뜬다.
상수는 변할 수 없는 값이기 때문에!
변수명 작성 규칙
1. 영문 대/소문자, 숫자, _ 또는 $만을 사용할 수 있음.
2. 변수명의 첫 글자로 숫자가 오면 안됨.
ex) let 1grade = "A+"; (X)
3. 변수명은 대소문자를 구분함. ==> SUM과 sum은 다른 변수명으로 인식.
4. 가급적 변수명 작성 시 소문자로 시작.
5. 가급적 상수명 작성 시 대문자로 작성.
6. 공백이 들어가면 안 됨.
7. 변수명을 사용 시 되도록 의미를 부여해서 작성하는 것이 좋음.
8. 자바스크립트 예야어를 사용할 수 없음. (==> 이를 "reserved words" 라 함)
예) document, do, for, var 등등
https://www.w3schools.com/js/js_reserved.asp
9. 두 단어 이상을 결합해서 변수명을 사용 시 낙타봉 표기법(CamelCase)을 권장함.
자바스크립트에서의 자료형
Primitive(기본형)과 Object(객체) 타입이 존재
기본적으로 자바스크립트는 인터프리터가 알아서 변수의 타입을 파악하고 값을 저장해,
변수의 타입을 따로 쓰지 않고 var 를 쓴다.
기본형 자료형(Primitive)
Boolean : 논리적인 요소, true와 false값이 있다.
null : 변수에 null을 할당하면 해당 변수는 명확하게 비어있는 empty값이라고 지정해준다.
undefined : 변수 선언은 이루어졌지만 할당된 값이 없는 상태이다.
Number : 숫자형으로 정수와 부동 소수점, 무한대 및 NaN(숫자가 아님) 값을 포함한다.
String : 한글자든, 여러 문자열이든 전무 문자열이다.
symbol : 심볼은 맵이나 다른식별자에서 유일한 식별자가 필요할 때, 동시다발적으로 일어날 수 있는 코드에서 우선순위를 주고 싶을 때, 고유한 식별자가 필요할 때 사용한다.
논리형(boolean)
참(true) 또는 거짓(false) 두 가지 값을 가지는 자료형
숫자형(number)
숫자를 표현하는 자료형,
숫자 안에서도 정수, 실수로 구분이 되는데 자바스크립트에서의 숫자 자료형은 그 종류들을 하나로 총괄함.
십진수와 실수형은 일반적으로 살용하는 숫자.
하지만 16진수는 글자색이나 배경색을 나타낼 때 사용함.
/* 예 */
var age = 30;
var color = 0xF00; (빨간색)
문자형(string)
홑따옴표 또는 쌍따옴표, 또는 backtick(`) 를 양 끝에 두고, 그 안에 한 글자 이상의 문자가 있는 자료형을 문자형이라고 함
/* 예 */
/* 방법 1. 큰 따옴표로 감싸기 ==> 작은 따옴표를 필요할 때 사용하기 좋음 */
var message1 = "i'm 홍길동";
/* 방법 2. 작은 따옴표로 감싸기 */
var name = '홍길동';
/* 방법 3. backtick(`)로 감싸기 ==> 문자열 내부에 변수를 넣고싶을 때 사용 */
var message = `My name is ${name}`;
console.log(message)
결과
"My name is 홍길동"
실수로 backtick을 작은 따옴표로 사용하게 되면 변수명이 그대로 노출되니 주의하도록 한다.
undefined
일반적으로 변수를 만든 후 초기화하지 않은 상태를 말함.
/* 예 */
var data;
alert("data >>> " + data);
null
아무 것도 참조하고 있지 않다는 의미
주로 객체를 담을 변수를 초기화할 때 많이 사용됨
- NaN : Not A Number. 즉, 숫자가 아닌 데이터를 숫자처럼 사용할 때 나타남(★★★★★)
/* 예 */
var str = null;
alert("str >>> " + str);
객체 (Object)
객체는 사전에 비유할 수 있음
사전에서 단어를 찾으면 그 단어에 대한 설명이 적혀 있고 이러한 단어와 설명의 모음이 사전이 되듯이 객체도 마찬가지.
여기서 단어를 키(Key), 설명을 밸류(Value)라고 함
즉, 객체는 키 (Key)와 값 (Value)의 쌍으로 이루어진 데이터의 집합
ar alice = {
name: "Alice",
age: 7
}
alice 라는 객체를 정의하고, 객체 내부에 키와 값은 콜론(:)으로 구분해 작성하며, 각각의 항목들은 콤마로 구분
여기서 키는 프로퍼티 (property) 라고도 함
키 (Key) 는 어떠한 값을 불러오기 위한 방법이고, 객체 내에서 유일해야 함,
값(Value)은 키에 대한 값
값에는 어떠한 자료형의 값이든 사용할 수 있음
숫자, 문자열, 불리언과 같은 기본자료형만이 아니라,배열이나 함수, 다른 객체 등도 객체 내부에서 값으로 사용될 수 있음
객체 사용하기
객체는 중괄호({})를 이용해서 선언함
객체 내부에 아무런 값이 없는 비어있는 객체는 아래처럼 변수에 {} 를 이용해 선언할 수 있음
// 비어있는 객체 선언
var obj = {};
객체 내부의 프로퍼티 값을 불러오려면 객체의 이름뒤에 점(.)을 찍고 키를 명시함
즉 alice의 나이를 알고 싶다면 아래와 같이 입력하면 된다.
alice.age
//=> 7
//혹은 대괄호를 이용해서 원하는 값을 조회할 수도 있음
alice["age"]
//=> 7
객체에 새로운 키(key)와 값(vlaue)을 추가할 수도 있음
아래와 같이 추가하려고 하는 키(key) 이름에 값을 대입하면 새로운 키(key)가 객체에 추가됨
만약 해당 프로퍼티가 이미 존재한다면 값을 덮어씌움
alice.gender = "female";
console.log(alice); //-> { name: 'Alice', age: 7, gender: 'female' }
키(key)를 삭제할 때는 delete 연산자를 사용
delete alice.gender;
배열 (Array)
배열은 기능이 추가된 특수한 형태의 객체로, 데이터 값들만의 모음
var arr = ["Alice", 7, true];
'Front-End > Javascript' 카테고리의 다른 글
[JavaScript] 조건문(if문, if~else문, 다중 if~else문, switch~case문) (0) | 2021.11.16 |
---|---|
[JavaScript] 연산자(operation) (0) | 2021.11.13 |
[JavaScript] 입출력 대화 상자_alert , confirm, prompt (0) | 2021.11.11 |
[JavaScript] 화면에 데이터를 출력하는 방법 4가지 (0) | 2021.11.10 |
[JavaScript] 자바스크립트의 특징 (0) | 2021.11.10 |
댓글