조아마시

쓸모 있는 상세페이지 만들기

웹개발/javascript

[자바스크립트] 연산자 (Operators)

joamashi 2024. 7. 30. 00:32

산술 연산자 (Arithmetic Operators)

let a = 5;
let b = 2;

a + b; // 덧셈: 5 + 2 = 7
a - b; // 뺄셈: 5 - 2 = 3
a * b; // 곱셈: 5 * 2 = 10
a / b; // 나눗셈: 5 / 2 = 2.5
a % b; // 나머지: 5를 2로 나눈 나머지 1
a ** b; // 제곱: 5의 2승, 즉 5 * 5 = 25

'1' + 1; // '11'

'11' - 2; // 9
'11' * 2; // 22
'11' / 2; // 5.5
'11' % 2; // 1
'11' > 10; // true

할당 연산자 (Assignment Operators)

let x = 10;

// x에 5를 더하고, 결과를 다시 x에 할당
x += 5; // x는 이제 15가 됩니다.

// x에서 3을 빼고, 결과를 다시 x에 할당
x -= 3; // x는 이제 12가 됩니다.

// x에 2를 곱하고, 결과를 다시 x에 할당
x *= 2; // x는 이제 24가 됩니다.

// x를 4로 나누고, 결과를 다시 x에 할당
x /= 4; // x는 이제 6이 됩니다.

// x를 3으로 나눈 나머지를 x에 할당
x %= 3; // x는 이제 0이 됩니다.

// x를 제곱하고, 결과를 다시 x에 할당
x **= 2; // x는 이제 0의 제곱인 0이 됩니다.

비교 연산자 (Comparison Operators)

const a = 5
const b = "5"

console.log(a == b) // true
console.log(a != b) // false

// 데이터 타입 포함
console.log(a === b) // false
console.log(a === Number('5')) // true
console.log(a !== b) // true

console.log(a > b) // false
console.log(a > '2') // true
console.log(a < b) // false

console.log(a >= b) // true
console.log(a <= b) // true

논리 연산자 (Logical Operators)

// true && true

const result1 = 1 && true && "안녕"
console.log(result1)// "안녕"

if (1 && true && "안녕") // true
if (false && 1) // false

// -----------------------------------

// false || false

const result2 = 0 || false || null || true
console.log(result2) // true

if ((0 || false) || (null || true)) // true
if (0 || false || null) // false
if (1 || false) // true

// -----------------------------------

!true // false
!false // true

let toggle = false
event(toggle = !toggle)

in 연산자 (In Operator)

const car = { make: 'Honda', model: 'Accord', year: 1998 }
console.log('make' in car) // true
console.log(car.make) // 'Honda'
console.log(car.number) // undefined

const numbers = ["a", "b", "c", "d", "e"]
console.log(6 in numbers) // false

증가/감소 연산자 (Increment/Decrement Operators)

let Increment = 0
console.log(Increment++) // 0 : 다음에 사용 할 때부터 반영
console.log(++Increment) // 1 : 바로 반영

let Decrement = 0
console.log(Decrement--) // 0 : 다음에 사용 할 때부터 반영
console.log(--Decrement) // -1 : 바로 반영

삼항(조건) 연산자 (Ternary Operator)

// 조건 ? 참 : 거짓

true ? true : false

(true) ? (undefined) ? 'null' : 'undefined' : 'false' // 'undefined'

타입 연산자 (Type Operators)

console.log(typeof 42) // "number"
console.log(typeof "Hello") // "string"
console.log(typeof true) // "boolean"
console.log(typeof undefined) // "undefined"
console.log(typeof {}) // "object"
console.log(typeof []) // "object"
console.log(typeof function() {}) // "function"

// ------------------------------------------------------------------------------

// 객체 instanceof 생성자 함수

function Car (make, model) {
  this.make = make
  this.model = model
}
var myCar = new Car('Toyota', 'Camry')
console.log(myCar instanceof Car) 
// true : myCar 객체가 Car 생성자 함수의 인스턴스인지 확인

// ------------------------------------------------------------------------------

// 생성자 함수
function Person(name, age) {
  this.name = name
  this.age = age
}

// Person 생성자 함수를 사용하여 person1, person2 인스턴스 생성
var person1 = new Person("홍길동", 30)
var person2 = new Person("이순신", 40)

// 각 인스턴스의 속성에 접근
console.log(person1.name) // "홍길동"
console.log(person2.age)  // 40

func() (함수 호출) 연산자

function fun() {}
fun() // 함수 호출

!! 연산자

console.log(!!0, !0) // false, true
console.log(!!1, !1) // true, false

쉼표 연산자 (Comma Operator)

let x = 1

x = (x++, x)
console.log(x) // 2

x = (2, 3)
console.log(x) //  3

멤버 연산자 (Member Operators)

var person = {
  name: "John",
  age: 30,
	obj: {
		num : 1
	}
}
console.log(person.name) // "John"

const propertyName = "name";
console.log(person[propertyName]) // "John"
console.log(person["name"]) // "John"
console.log(person["obj"]["num"]) // 1
console.log(person["obj"].num) // 1

제곱 연산자 (Exponentiation Operator)

console.log(3 ** 4) // 81 
console.log(10 ** -2) // 0.01
console.log(2 ** (3 ** 2)) // 512
console.log((2 ** 3) ** 2); // 64

 

728x90