[Javascript] #2. Object의 개념, typeof, 형변환, 다양한 연산자

Jihye·2024년 1월 5일

JavaScript

목록 보기
2/14
post-thumbnail

Object(객체)

하나의 꾸러미


let cat ={
  name :'나비',
  age :1,
  iscute :true,
  Mew : function(){
  		return '냐옹';
   },
} 

위와 같이 cat이라는 변수 대한 모든 데이터를 담고 있는 형태를 object(객체)라고 한다.
name, age, iscute등은 Key, 각 Key에 할당 값은 Value이다.

key : value
구분은 ,

console.log(cat);
console.log(cat.name); //객체의 키에 접근가능하도록 '.'을 찍어준다.
console.log(cat.Mew());//함수는 () 포함해서

이때, console.log도 console이라는 객체가 선언되어 있고, log라는 키에 접근하려는 형태이다.

typeof

해당 자료형이 어떤 것인지 'String'으로 알려주는 연산자

typeof 1; //number
typeof "abc" //string
typeof true //boolean
typeof {a:1, b:2};//object
const types= 20;
console.log(typeof types);//number
function add(x,y){
  				return x+y;
}
type add; //function
              

이때, typeof 연산자는 그 결과 값이 Class가 아닌 String(문자열)임을 조심해야 한다!

typeof 1 === Number; // false
typeof 1 ==="Number"; //true
typeof typeof 1;//string
typeof typeof true;//string
typeof null; //object 

문자열 안에 변수들 넣는 방법

형변환

prompt() : 사용자에게 입력값을 받아 문자로 저장하는 함수

let mathscore = prompt("수학 점수를 입력하세요.")
typeof(mathscore) //string

결과

mathscore에 60을 할당했다고 하자.

let div mathscore /2 ; // 30출력

string 값이면 ERROR가 뜨고 아무 값도 뜨면 안되지만 JS의 자동 형변환으로 프로그램이 구동 되어 30이 출력된다.

JS의 자동 형변환

  • 처음에는 편할 수 있지만 큰 문제를 일으키게 된다. 오류 일으킴!
  • 따라서 개발자가 직접 형변환을 시켜야 한다.

문자형변환 String(), toString()

  • toString()은 null과 undefined에서 사용 불가
let num = 123;

let a = String(num);
console.log(typeof a); //string

let b = num.toString();
console.log(typeof b); //string

숫자형변환 Number()

let num2='1234';
let num3='5678';

let avg= (Number(num2)+Number(num3))/2;
console.log(c);//1234
console.log(typeof c); //number
console.log(avg); //3456

연산자

대입 연산자 =

값을 선언하여 할당할 때

let num2='1234';
let num3='5678';

비교 연산자

==두개의 값 비교
!=두개의 값이 같지 않음을 비교
===값과 자료형(type)을 모두 비교

let a="123";
let b=123;

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

!== 두개의 값과 자료형(type)을 모두 비교해서 같지 않으면
>,>=,<,<= 부등호 =은 항상 오른쪽에 위치

산술 연산자+,-,*,/

console.log(1+1);//2
console.log(1-1);//0
console.log(1*5);//5
console.log(4/2);//2

논리 연산자 : n개의 조건을 비교

!NOT -
&&AND - 조건 모두 충족하면
||OR - 조건 중 하나라도 일치하면

&&|| AND, IF 연산자 예시

let name = "뽀로로";
let age = "19";

if(name ==="뽀로로"|| age >19){
    console.log('통과')
}else{
    console.log('돌아가')
} //통과
if(name ==="뽀로로"&& age >19){
    console.log('통과')
}else{
    console.log('돌아가')
} //돌아가

!NOT 연산자 예시

let name = "뽀로로";
let age = "19";
let isAdult = age >19;

if(isAdult){
    console.log('성인')
}else{
    console.log('미성년자')
} //미성년자
if(!isAdult){
    console.log('미성년자')
}else{
    console.log('성인')
} //미성년자

기본 연산자

% 나머지 연산자
응용) 홀수판단 %2==1 / 짝수판단 %2==0
**거듭 제곱
ex. 2 ** 3 = 8

//나머지 연산자
console.log(100%2); //짝수 -0
console.log(99%2); //홀수-1

//거듭제곱
console.log(2**3); //8

연산자 줄여 쓰기

num = num+5;
num+=5;

let num = 5;
num +=10 //num = num + 10
console.log(num); //15

증가, 감소 연산자

num++ 다음줄에서 1 증가
num-- 다음줄에서 1 감소
++num 바로 1 증가
--num 바로 1 감소

let result1, result2;
let num1=10, num2=20;

result1=num1++;
console.log(result1); //여기 까지는 10 
result1=num1++;//다음줄로 넘어가는 순간 11
console.log(result1); //여기까지는 11
result1=num1;//여기서는 12
console.log(result1); //12

result2=++num2;//여기서 바로 21
console.log(result2);//21
result2=++num2;//여기서 바로 22
console.log(result2);//22

0개의 댓글