변수 이름: 저장된 값의 고유 이름
변수 값: 변수에 저장된 값
변수 할당: 변수에 값을 저장하는 행위
변수 선언: 변수를 사용하기 위해 컴퓨터에 알리는 행위
변수 참조: 변수에 할당된 값을 읽어오는 것
var | 여러 번 선언해도 오류가 발생하지 않고, 가장 마지막에 선언한 값으로 변수가 덮어씌워집니다. |
---|---|
lef | var와 다르게 선언을 한번만 할 수 있으며, 값은 여러 번 할당 가능합니다. |
const | 선언 및 값 할당이 한 번만 가능하며, 주로 상수를 선언할 때 사용합니다. |
Java와 JavaScript 차이
Java는 코드 작성 시에 데이터타입이 결정되지만 JavaScript는 runtime에 결정된다.
// 산술 연산자(+, -, *, /, %)
// 1-1 더하기 연산자
console.log(1 + 1);
console.log(1 + "1"); // 문자로 자동 형 변환
// 1-2 빼기 연산자
console.log(1 - "2"); // 숫자로 자동 형 변환
console.log(1 - 2);
// 1-3 곱하기 연산자
console.log(2*2);
console.log("2" * "2"); //숫자로 자동 형 변환
// 1-4 나누기 연산자
console.log(4 / 2);
console.log("4" / 2); //숫자로 자동 형 변환
// 1-5 나머지 연산자
console.log(5%2);
console.log("5"%2); //숫자로 자동 형 변환
let result2 = true + "1"; // boolean + 문자 = 문자
console.log(result2);
console.log(typeof result2);
let result3 = {} + "1"; // Object + 문자 = 문자
console.log(result3);
console.log(typeof result3);
// null, undefinded + "" ===> 문자
- 두 개의 비교 연산자 차이
"==" : 값 비교
"===" : 데이터 타입과 값 비교
//일치 연산자(==, ===)
console.log(2 == 2); // true
console.log(2 == "2"); // true (자동으로 형 변환)
console.log("2" === 2); // false
//불일치 연산자(!= , !==)
console.log(2 != 2); // false
console.log(2 != "2"); // false (자동으로 형 변환)
console.log("2" !== 2); // true
// 4-1 논리곱 연산자: 모두 true 일 경우만 true값 반환
console.log(true && true); 1 1 = 1
console.log(true && false); 1 0 = 0
console.log(false && true); 0 1 = 0
console.log(false && false); 0 0 = 0
// 4-2 논리합 연산자: 두 값 중 하나만 true여도 ture 반환
console.log(true || true); 1 1 = 1
console.log(true || false); 1 0 = 1
console.log(false || true); 0 1 = 1
console.log(false || false); 0 0 = 0
// 4-3 논리 부정 연산자(중요!)
let b = 1;
console.log(!true); false
console.log(!b); false
console.log(!(!b)); true
let x = 10;
(x>0) && console.log("x는 양수입니다."); // 해석: (x > 0) &&(참일 경우) console.log("x는 양수입니다."); 수행된다.
let y;
let z = y || 20; // 해석: z 값에 y의 값을 넣고, y의 값이 없을 경우 20를 넣는다.
let w= 20;
console.log(w < 10 ? "작다" : "크다"); //출력: 크다
//if … else if … else if … else와 유사합니다.
function example(…) {
return condition1 ? value1
: condition2 ? value2
: condition3 ? value3
: value4;
}