[JS] 개요/ 데이터 타입 확인/ 산술, 할당 연산자

혜빈·2023년 4월 11일

JS

목록 보기
6/21

1. 개요

ECMA스크립트
: 5버전 6버전(2015)에 차이가 크기 때문에 알아둬야함
그 이후에는 1년에 한 번씩 작게 업데이트 됨
인터넷익스플로러같은 구버전 브라우저는 5버전 이하만 지원함
비교적 신형 브라우저들은 6버전 이상도 지원함

2.데이터 타입 확인

console.log(typeof "Hello world!");
console.log(typeof 123);
console.log(typeof true);
console.log(typeof undefined);
console.log(typeof null);
console.log(typeof {});
console.log(typeof []);

function getType(data) {
return Object.prototype.toString.call(data).slice(8, -1)
}

console.log(getType(123))
console.log(getType(false))
console.log(getType(null))
console.log(getType({}))
console.log(getType([]))


콘솔 출력 화면

string
number
boolean
undefined
object
object
object
Number
Boolean
Null
Object
Array


undefined, { }, [ ]는 Type of함수를 사용하면 object로만 뜨기때문에
별도의 함수를 만들어서 원하는 값을 출력할 수 있음

하지만, main.js에서 선언한 함수는 다른 js 파일에서는 사용이 불가능하기 때문에
여러 js파일에서 함께 적용하기 위해서는
함수 이름의 새로운 파일( ex) getType.js ) 을 만들어서 import로 불러와서 사용하는것이 좋음

새로운 함수이름의 파일( ex) getType.js )의 내용으로는
export default를 붙여서 함수를 입력함

export default function getType(data) {
return Object.prototype.toString.call(data).slice(8, -1)
}
이렇게 작성하면

main.js 파일에서도 명시해놓은 함수부분
function getType(data) {
return Object.prototype.toString.call(data).slice(8, -1)
}
을 삭제하고

제일 위에
import getType from './getType'
이렇게 작성해주면 getType함수가 적용됨

3.산술, 할당 연산자

산술 연산자(arithmetic operator)

console.log(1 + 2)
console.log(5 - 7)
console.log(3 * 4)
console.log(10 / 2)
console.log(7 % 5)
// %는 나머지 연산자

할당 연산자(assignment operator)

let a = 2
a = a + 1

// a = a - 1이랑 a -= 1이랑 같은 코드
// a = a + 1이랑 a += 1이랑 같은 코드
// a = a 1이랑 a = 1이랑 같은 코드
// a = a / 1이랑 a /= 1이랑 같은 코드
// a = a % 1이랑 a %= 1이랑 같은 코드

console.log(a)
// 3

비교연산자(comparison operator)

const a = 1
const b = 3

console.log(a === b)

// ===는 일치 연산자 (오른쪽 왼쪽 데이터 비교해서 일치하는지 비교함)
// 일치하면 true, 불일치하면 false

function inEqual(x, y) {
return x === y
}

console.log(isEqua(1, 1)) // true
console.log(isEqual(2, '2')) //false 숫자 2랑 문자2는 다르기 때문

const a = 1
const b = 3

console.log(a !== b) //true !==는 불일치 연산자로, '서로가 다르냐'라는 의미. 다른게 맞으니까 true가 출력됨. 같으면 false가 출력됨

console.log(a < b) // a데이터가 b데이터보다 작은가? 맞으면 true, 아니면 false
console.log(a > b) // a데이터가 b데이터보다 큰가? 맞으면 true, 아니면 false
console.log(a >= b) // a데이터가 b데이터보다 크거나 같은가? 맞으면 true, 아니면 false
console.log(a >= b) // a데이터가 b데이터보다 작거나 같은가? 맞으면 true, 아니면 false

*주의할점
꺽새 기호를 이퀄 기호보다 먼저 적어야 함

논리 연산자(logical operator)

const a = 1 === 1
const b = 'AB' === 'AB'
const c = true

console.log(a)
console.log(b)
console.log(c)

console.log('&&: ', a && b && c)
// &&는 '그리고(and)'라는 의미
// 전부 true인 경우에만 true 출력 가능
// 하나라도 false면 false가 출력됨

console.log('||: ', a || b || c)
// ||는 '또는(or)'이라는 의미
// 하나라도 true면 true가 출력됨

* 정리

&&는 false가 하나라도 있으면 false
||는 true가 하나라도 있으면 true

console.log('!: ', !a)
// !는 부정연산자(not). 뒤쪽에 있는 데이터가 true면 false를 반환, false면 true를 반환함

profile
최강 개발자를 꿈꾸는 병아리

0개의 댓글