산술 연산자(arithmetic operators)
1. 더하기 연산자(+)
console.log(2 + 3); // 5
console.log("2" + "3"); // "23"
console.log("2" + 3); // "23"
console.log(2 + "3"); // "23"
위의 예제에서는 더하기 연산자를 사용하여 숫자나 문자열을 더할 수 있다. 이때, 더하기 연산자는 숫자와 문자열을 함께 사용할 경우, 자동으로 문자열로 변환한다.
2. 빼기 연산자(-)
console.log(5 - 2); // 3
console.log("5" - "2"); // 3
console.log("5" - 2); // 3
console.log(5 - "2"); // 3
console.log("five" - 2); // NaN
위의 예제에서는 빼기 연산자를 사용하여 숫자를 뺄 수 있다. 이때, 빼기 연산자는 숫자와 문자열을 함께 사용할 경우, 자동으로 숫자로 변환한다.
3. 곱하기 연산자(*)
console.log(2 * 3); // 6
console.log("2" * "3"); // 6
console.log("2" * 3); // 6
console.log(2 * "3"); // 6
console.log("two" * 3); // NaN
위의 예제에서는 곱하기 연산자를 사용하여 숫자를 곱할 수 있다. 이때, 곱하기 연산자는 숫자와 문자열을 함께 사용할 경우, 자동으로 숫자로 변환한다.
4. 나누기 연산자(/)
console.log(6 / 3); // 2
console.log("6" / "3"); // 2
console.log("6" / 3); // 2
console.log(6 / "3"); // 2
console.log("six" / 3); // NaN
위의 예제에서는 나누기 연산자를 사용하여 숫자를 나눌 수 있다. 이때, 나누기 연산자는 숫자와 문자열을 함께 사용할 경우, 자동으로 숫자로 변환한다.
5. 나머지 연산자(%)
console.log(7 % 3); // 1
console.log("7" % "3"); // 1
console.log("7" % 3); // 1
console.log(7 % "3"); // 1
console.log("seven" % 3); // NaN
위의 예제에서는 나머지 연산자를 사용하여 나눗셈의 나머지를 구할 수 있다. 이때, 나머지 연산자는 숫자와 문자열을 함께 사용할 경우, 자동으로 숫자로 변환한다.
논리 연산자(logical operators)
1. 논리곱(&&) 연산자
console.log(true && true); // true
console.log(true && false); // false
console.log(false && true); // false
console.log(false && false); // false
위의 예제에서는 논리곱 연산자를 사용하여 두 값을 비교할 수 있다. 이때, 논리곱 연산자는 두 값이 모두 true일 경우에만 true를 반환한다.
2. 논리합(||) 연산자
console.log(true || true); // true
console.log(true || false); // true
console.log(false || true); // true
console.log(false || false); // false
위의 예제에서는 논리합 연산자를 사용하여 두 값을 비교할 수 있다. 이때, 논리합 연산자는 두 값 중 하나라도 true일 경우 true를 반환한다.
3. 논리부정(!) 연산자
console.log(!true); // false
console.log(!false); // true
console.log(!(2 > 1)); // false
위의 예제에서는 논리부정 연산자를 사용하여 값을 반대로 바꿀 수 있다. 이때, 논리부정 연산자는 true를 false로, false를 true로 바꾼다.
타입 연산자(type operators)
typeof 연산자
console.log(typeof 123); // "number"
console.log(typeof "123"); // "string"
console.log(typeof true); // "boolean"
console.log(typeof undefined); // "undefined"
console.log(typeof null); // "object"
console.log(typeof {}); // "object"
console.log(typeof []); // "object"
console.log(typeof function(){}); // "function"
위의 예제에서는 typeof 연산자를 사용하여 값의 자료형을 확인할 수 있다. 이때, typeof 연산자는 원시 자료형의 경우, 해당 자료형의 이름을, 객체나 함수의 경우, "object" 또는 "function"을 반환한다. typeof null의 경우 "object"를 반환하는 버그가 있다.
함수 스코프 (Scope : 주제 등이 다루는 범위)
1. 전역 스코프(global scope)
let x = 10;
function printX() {
console.log(x);
}
printx(); // 10
위의 예제에서는 전역 스코프에서 변수 x를 선언하고, 함수 printX에서 변수 x를 참조한다.
전역 스코프에서 선언된 변수는 어디에서든지 참조할 수 있다.
2. 지역 스코프(local scope)
function printX() {
let x = 10;
console.log(x);
}
printx(); //
위의 예제에서는 지역 스코프에서 변수 x를 선언하고, 함수 printX에서 변수 x를 참조한다. 지역 스코프에서 선언된 변수는 해당 함수 내에서만 참조할 수 있다.
3. 블록 스코프(block scope)
if (true) {
let x = 10;
console.log(x);
}
console.log(x); // ReferenceError: x is not defined
위의 예제에서는 if문 내에서 변수 x를 선언하고, 이를 출력한다. if문 내에서 선언된 변수는 해당 블록 내에서만 참조할 수 있다.
2023. 04. 03
항해99 D-99
'Development > JavaScript' 카테고리의 다른 글
JS 기초 _보충(객체, 배열) (0) | 2023.04.03 |
---|---|
JS 기초 _보충(조건문, 반복문) (0) | 2023.04.03 |
JS 기초 _보충(변수와 자료형 변환) (0) | 2023.04.03 |
배열 메서드_요약 (0) | 2023.03.15 |
JS기초_5.3(객체와 배열 고급) (0) | 2023.03.11 |