연산자들
// 산술 연산자
let sum = 10 + 5; // 15
let difference = 10 - 5; // 5
let product = 10 * 5; // 50
let quotient = 10 / 5; // 2
let remainder = 10 % 3; // 1
// 할당 연산자
let x = 10;
x += 5; // x = x + 5; // 15
x -= 5; // x = x - 5; // 10
x *= 5; // x = x * 5; // 50
x /= 5; // x = x / 5; // 10
x %= 3; // x = x % 3; // 1
// 비교 연산자
let isEqual = 10 == '10'; // true (값만 비교)
let isStrictEqual = 10 === '10'; // false (값과 타입 모두 비교)
let isNotEqual = 10 != '10'; // false (값만 비교)
let isStrictNotEqual = 10 !== '10'; // true (값과 타입 모두 비교)
let isGreaterThan = 10 > 5; // true
let isLessThan = 10 < 5; // false
let isGreaterThanOrEqual = 10 >= 10; // true
let isLessThanOrEqual = 10 <= 5; // false
// 논리 연산자
let andResult = true && false; // false
let orResult = true || false; // true
let notResult = !true; // false
// 비트 연산자
let bitwiseAnd = 5 & 3; // 1 (0101 & 0011 = 0001)
let bitwiseOr = 5 | 3; // 7 (0101 | 0011 = 0111)
let bitwiseXor = 5 ^ 3; // 6 (0101 ^ 0011 = 0110)
let bitwiseNot = ~5; // -6 (~0101 = 1010, 2의 보수로 -6)
let leftShift = 5 << 1; // 10 (0101 << 1 = 1010)
let rightShift = 5 >> 1; // 2 (0101 >> 1 = 0010)
let unsignedRightShift = -5 >>> 1; // 2147483645 (11111111111111111111111111111011 >>> 1 = 01111111111111111111111111111101)
// 조건 연산자
let result = (10 > 5) ? 'true' : 'false'; // 'true'
// 타입 연산자
let typeOfX = typeof x; // 'number'
let isArray = Array.isArray([1, 2, 3]); // true
// in 연산자
let person = { name: 'John', age: 30 };
let hasName = 'name' in person; // true
let hasAddress = 'address' in person; // false
// delete 연산자
delete person.age; // true (age 속성 삭제)
// 쉼표 연산자
let a = (1 + 2, 3 + 4); // 7 (1 + 2는 평가되지만 결과는 버려지고, 3 + 4가 평가되어 결과가 반환됨)
연산자의 종류
산술 연산자 = 곱셈 뺄셈 등등
결과 값에 추가적으로 하는 거 = 할당 연산자
비교 연산자 = 같다 / 다르다 등 그리고 ! 는 부정을 나타냄
&&은 그리고(and) 정도로 해석하면 되고 ||는 또는(or)이라 해석 = 논리 연산자
비트 연산자 = 이진수로 표현된 비트단위 연산 수행
조건에 따른 결과 값을 반환함 = 조건 연산자
타입 연산자 = 데이터 유형 ( 아래 코드 참조)
let undefinedVar;
let boolVar = true;
let numVar = 42;
let strVar = "Hello, world!";
let bigintVar = 1234567890123456789012345678901234567890n;
let symbolVar = Symbol("symbol");
let objVar = {};
let arrVar = [];
let funcVar = function() {};
console.log(typeof undefinedVar); // "undefined"
console.log(typeof boolVar); // "boolean"
console.log(typeof numVar); // "number"
console.log(typeof strVar); // "string"
console.log(typeof bigintVar); // "bigint"
console.log(typeof symbolVar); // "symbol"
console.log(typeof objVar); // "object"
console.log(typeof arrVar); // "object"
console.log(typeof funcVar); // "function"
그러하다
'JavaScript' 카테고리의 다른 글
[중앙정보처리학원] JavaScript* 변수와 상수 (0) | 2024.03.19 |
---|---|
[중앙정보처리학원] DOM* JavaScript 적용하기 (0) | 2024.03.04 |
[중앙정보처리학원] JavaScript* Spread/rest 문법 (0) | 2024.02.29 |
[중앙정보처리학원] JavaScript* 클로저 (Closure) (0) | 2024.02.29 |
[중앙정보처리학원] JavaScript* 스코프(Scope) (2) | 2024.02.28 |