본문 바로가기

웹언어/JAVASCRIPT

[JS강좌] 2강 자바스크립트 연산자와 변수 - 오쌤의 니가스터디

728x90
반응형

 

 

 

 

 

 

 

 

 

** 영상으로 공부하실 분은 아래 주소를 클릭해주세요.

https://www.youtube.com/watch?v=vJffwV9dvHY 

 

 

 

 

 

 

 

 

 

 

1. 자바스크립트(JAVASCRIPT) 연산자

1) 산술연산자

- 숫자에 산술 연산을 수행하는데 사용되는 연산자

연산자 설명
+ 더하기 연산자
- 빼기 연산자
* 곱하기 연산자
/ 나누기 연산자
% 나머지 연산자

 

 

 

## 사칙연산 코드

<!DOCTYPE html>
<html lang="ko">
    <head>
        <meta charset="UTF-8">
        <title>자바스크립트(JAVASCRIPT) 연산자</title>
        <script>
            document.write((10 + 2) + '<br>');
            document.write((10 - 2) + '<br>');
            document.write((10 * 2) + '<br>');
            document.write((10 / 2) + '<br>');
            document.write((10 % 3) + '<br>');
        </script>
    </head>
    <body>
        
    </body>
</html>

 

 

## 사칙연산 결과

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2) 비교연산자

- 좌변과 우변을 비교해서 true 혹은 false의 결과를 도출하는 연산자

연산자 설명
> 좌변이 우변보다 크다
< 좌변이 우변보다 작다
>= 좌변이 우변보다 크거나 같다
<= 좌변이 우변보다 작거나 같다
== 좌변과 우변이 같다
(항등연산자 - 데이터유형이 달라도 값이 같으면 true의 결과도출)
!= 좌변과 우변이 같지 않다
(데이터유형이 달라도 값이 다르면 true의 결과도출)
=== 좌변과 우변이 같다
(완전항등연산자 - 데이형유형과 값이 모두 같아야 true의 결과도출)
!== 좌변과 우변이 같지 않다
(데이형유형 혹은 값 둘중 하나라도 다르면 true의 결과도출)

 

 

 

## 비교연산자 코드

<!DOCTYPE html>
<html lang="ko">
    <head>
        <meta charset="UTF-8">
        <title>자바스크립트(JAVASCRIPT) 연산자</title>
        <script>
            document.write('10 > 2 : ' + (10 > 2) + '<br>');
            document.write('10 < 2 : ' + (10 < 2) + '<br>');
            document.write('10 == 2 : ' + (10 == 2) + '<br>');
            document.write('10 != 2 : ' + (10 != 2) + '<br>');
        </script>
    </head>
    <body>
        
    </body>
</html>

- 좌변과 우변이 같다라는 결과에서 =을 한개가 아닌 == 혹은 ===을 사용해야한다는 점을 꼭 외워두세요!

 

 

 

## 비교연산자 결과

 

 

 

 

## ==와 === 비교 코드

<!DOCTYPE html>
<html lang="ko">
    <head>
        <meta charset="UTF-8">
        <title>자바스크립트(JAVASCRIPT) 연산자</title>
        <script>
            document.write('10 == "10" : ' + (10 == "10") + '<br>');
            document.write('10 === "10" : ' + (10 === "10") + '<br>');
        </script>
    </head>
    <body>
        
    </body>
</html>

 

 

 

## ==와 === 비교 결과

 

 

 

 

 

 

 

 

 

 

 

 

3) 대입(할당)연산자

- 변수에 값을 대입(할당)하는 연산자

연산자 예시 수식 설명 같은 수식
= x = 5 변수 x 5라는 값을 대입 x = 5
+= x += 5 기존 변수 값에 5라는 값을 더해서 대입 x = x + 5
-= x -= 5 기존 변수 값에 5라는 값을 빼서 대입 x = x - 5
*= x *= 5 기존 변수 값에 5라는 값을 곱해서 대입 x = x * 5
/= x /= 5 기존 변수 값에 5라는 값을 나눠서 대입 x = x / 5
%= x %= 5 기존 변수 값에 5를 나눠 나머지를 구함 x = x % 5

 

 

## 대입연산자 코드

<!DOCTYPE html>
<html lang="ko">
    <head>
        <meta charset="UTF-8">
        <title>자바스크립트(JAVASCRIPT) 연산자</title>
        <script>
            var num = 10;
            document.write('처음값 : ' + num + '<br>');
            
            num = 20; //num값을 20으로 변경(체인지)
            document.write('= 처리후 : ' + num + '<br>');
            
            num += 10; //기존 num값(20)에 더하기 10을 해서 대입
            document.write('+= 처리후 : ' + num + '<br>');
            
            num -= 10; //기존 num값(30)에 빼기 10을 해서 대입
            document.write('-= 처리후 : ' + num + '<br>');
            
            num *= 5; //기존 num값(20)에 곱하기 5을 해서 대입
            document.write('*= 처리후 : ' + num + '<br>');
            
            num /= 20; //기존 num값(100)에 나누기 20을 해서 대입
            document.write('/= 처리후 : ' + num + '<br>');
            
            num %= 3; //기존 num값(5)에 나누기 3을 해서 나머지를 대입
            document.write('%= 처리후 : ' + num + '<br>');
        </script>
    </head>
    <body>
        
    </body>
</html>

 

 

## 대입연산자 결과

 

 

 

 

 

 

 

 

 

 

 

4) 증감연산자

- 1씩 증가하거나 감소시키는 연산자

연산자 설명
++변수명 해당 줄에서 변수 값이 1만큼 증가
변수명++ 코드의 다음 줄부터 변수 값이 1만큼 증가
--변수명 해당 줄에서 변수 값이 1만큼 감소
변수명-- 코드의 다음 줄부터 변수 값이 1만큼 감소

 

 

## 증감연산자 코드

<!DOCTYPE html>
<html lang="ko">
    <head>
        <meta charset="UTF-8">
        <title>자바스크립트(JAVASCRIPT) 연산자</title>
        <script>
            var num = 10;
            document.write('처음값 : ' + num + '<br>');
            
            num++; //1을 증가
            document.write('num++ : ' + num + '<br>');
            
            num--; //1을 감소
            document.write('num-- : ' + num + '<br>');
        </script>
    </head>
    <body>
        
    </body>
</html>

 

 

## 증감연산자 결과

 

 

 

## 변수++과 ++변수의 비교 코드

<!DOCTYPE html>
<html lang="ko">
    <head>
        <meta charset="UTF-8">
        <title>자바스크립트(JAVASCRIPT) 연산자</title>
        <script>
            var num01 = 10;
            var num02 = 10;
            
            document.write('후처리 : ' + num01++ + '<br>');
            document.write('전처리 : ' + ++num02 + '<br>');
        </script>
    </head>
    <body>
        
    </body>
</html>

- num01에는 뒤에 ++연산자를 붙이고, num02에는 앞에 ++연산자를 붙였습니다.

 

 

 

## 변수++과 ++변수의 비교 결과

- num01은 해당줄에는 바로 증가가 안되므로 10으로 반환, num02는 해당줄에서 바로 증가가 되므로 11으로 반환됩니다.

 

 

 

 

 

 

 

 

 

 

 

 

5) 논리연산자

- 결과값이 true 혹은 false로 나오는 논리적 연산자

연산자 설명
&& 논리곱연산자 - 모든 조건이 맞으면 true를 반환, 그렇지 않으면 false를 반환
|| 논리합연산자 - 조건 중 하나라도 맞으면 true를 반환, 모든 조건이 맞지 않으면 false를 반환
! 부정연산자 - 값이 true false, false true를 반환

 

 

 

## 논리연산자 코드

<!DOCTYPE html>
<html lang="ko">
    <head>
        <meta charset="UTF-8">
        <title>자바스크립트(JAVASCRIPT) 연산자</title>
        <script>
            var test01 = 10 > 5; //true
            var test02 = 10 < 5; //false
            
            document.write('&& : ' + (test01 && test02) + '<br>');
            document.write('|| : ' + (test01 || test02) + '<br>');
            document.write('! : ' + !test01 + '<br>');
        </script>
    </head>
    <body>
        
    </body>
</html>

- &&로 처리한 곳은 두개의 조건 모두 true여야 true이므로 [false]가 반환됩니다.

- ||로 처리한 곳은 두개 중 하나라도 true면 true이므로 [true]가 반환됩니다.

- !로 처리한 곳은 처음의 결과가 true이므로 반대인 [false]가 반환됩니다.

 

 

## 논리연산자 결과

 

 

 

** 컴퓨터는 보통 틀리면 0을 처리, 0이 아니면 맞다고 처리

논리곱연산자(&&)
조건식1 조건식2 수식 결과
true(1) true(1) 1 * 1 = 1 true
true(1) false(0) 1 * 0 = 0 false
false(0) true(1) 0 * 1 = 0 false
false(0) false(0) 0 * 0 = 0 false

=> 모든 조건이 맞아야 true, 하나라도 틀리면 0이 곱해지므로 모두 false

 

논리합연산자( || )
조건식1 조건식2 수식 결과
true(1) true(1) 1 + 1 = 2 true
true(1) false(0) 1 + 0 = 1 true
false(0) true(1) 0 + 1 = 1 true
false(0) false(0) 0 + 0 = 0 false

=> 하나라도 맞으면 1이 더해지므로 true, 모두 틀리면 0이므로 모두 false

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6) 연결연산자

- 숫자가 아닌 값을 +연산자로 처리시 값을 연결하는 연결연산자로 처리합니다.

연산자 설명
+ 수식이 아닌 값을 +연산자로 처리할 경우 값이 연결되서 처리
+= 수식이 아닌 값을 변수에 +=연산자로 처리할 경우 변수 값이 추가적으로 연결되서 처리

 

 

## 연결연산자 코드

<!DOCTYPE html>
<html lang="ko">
    <head>
        <meta charset="UTF-8">
        <title>자바스크립트(JAVASCRIPT) 연산자</title>
        <script>
            document.write(1000 + '원<br>'); //숫자와 문자 데이터를 연결
            
            var list = '';
            
            list += '<ul>';
            list += '<li>리스트01</li>';
            list += '<li>리스트02</li>';
            list += '<li>리스트03</li>';
            list += '</ul>';
            
            document.write(list);
        </script>
    </head>
    <body>
        
    </body>
</html>

 

 

 

## 연결연산자 결과

- 태그를 인식해서 body에 출력되는 것이 확인됩니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2. 자바스크립트의 변수(var)

1) 자바스크립트 데이터 유형

데이터 설명 예시
숫자 숫자를 그냥 작성하는 형태 var num = 10;
var num = '10' //문자열
문자열 따옴표 내에 작성하는 문자형태 var str = '안녕하세요
var str = "안녕하세요
(Boolean) true 혹은 false의 결과값을 갖는 데이터나 수식 var bool = true; //키워드
var bool = 10 > 5; //비교연산자
함수 함수데이터 유형 var fx = prompt('값입력',‘’);
객체 객체데이터 유형 var db = {
   name: '홍길동‘,
   age: 20
}
undefined 값을 할당받지 못한 데이터 유형 var unf;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2) 변수란?

- 데이터(값)을 한개 저장하는 공간을 의미

형태 문법
변수선언 var 변수명;
값할당 변수명 = ;
변수초기화 var 변수명 = ;
사용이유 1. 값이 변할지도 몰라서 변수에 담아서 사용
2. 코드가 너무 길어서 가독성이 떨어질때 변수에 담아서 사용

 

 

 

## 변수를 한개 선언한 코드

<!DOCTYPE html>
<html lang="ko">
    <head>
        <meta charset="UTF-8">
        <title>자바스크립트(JAVASCRIPT) 변수</title>
        <script>
            var num = 10;
        </script>
    </head>
    <body>
        
    </body>
</html>

 

 

## 한문장에 변수를 여러 개 선언한 코드

<!DOCTYPE html>
<html lang="ko">
    <head>
        <meta charset="UTF-8">
        <title>자바스크립트(JAVASCRIPT) 변수</title>
        <script>
            var num = 10, str = '안녕하세요', price = 1000 + '원';
            
            document.write(num + '<br>');
            document.write(str + '<br>');
            document.write(price + '<br>');
        </script>
    </head>
    <body>
        
    </body>
</html>

 

 

## 한문장에 변수를 여러 개 선언한 결과

 

 

 

 

 

 

 

 

 

 

 

 

3) 변수사용이유 확인

console.log(1 * 1116);
console.log(2 * 1116);
console.log(3 * 1116);
console.log(4 * 1116);
console.log(5 * 1116);

- 위와 같은 코드가 있다고 확인해봅시다.

- 오늘의 달러를 1116이라고 생각하고 1달러부터 5달러까지 환산해놓은 것입니다.

 

 

- 그럼 내일의 달러가 1120원으로 오른다고 생각해봅시다.

- 그럼 1116이라고 쓴 숫자를 1120으로 변경해야합니다. 🤣

console.log(1 * 1120);
console.log(2 * 1120);
console.log(3 * 1120);
console.log(4 * 1120);
console.log(5 * 1120);

- 그럼 너무 불편하겠죠?

 

 

 

 

- 이제 달러를 변수로 담아 보겠습니다.

var dollar = 1116;
            
console.log(1 * dollar);
console.log(2 * dollar);
console.log(3 * dollar);
console.log(4 * dollar);
console.log(5 * dollar);

 

- 내일의 달러가 1120원으로 변경된다하더라도 변수에 선언해놓은 곳만 변경하면 됩니다. 😁👍

var dollar = 1120;
            
console.log(1 * dollar);
console.log(2 * dollar);
console.log(3 * dollar);
console.log(4 * dollar);
console.log(5 * dollar);

 

 

 

 

 

 

 

 

 

 

 

 

 

4) prompt함수를 이용한 환율계산기 만들기

 

## prompt함수

prompt('질문텍스트','예시텍스트');

- prompt함수는 사용자가 값을 입력할 수 있는 창을 띄워주는 함수입니다.

 

 

 

 

 

 

## 환율계산기 코드

<!DOCTYPE html>
<html lang="ko">
    <head>
        <meta charset="UTF-8">
        <title>자바스크립트(JAVASCRIPT) 변수</title>
        <script>
            var dollar = 1116;
            
            var num = prompt('환전하실 달러를 입력하세요','정수입력');
            
            alert('환전금액 : ' + (dollar * num) + '원');
        </script>
    </head>
    <body>
        
    </body>
</html>

 

 

## 환율계산기 결과

- 새로고침 단축키는 [F5]입니다.

- 환전할 달러를 입력하면 잘 변경되는 것 보이시죠??? 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5) 문제 풀어보기

문제) 사용자에게 국어, 수학, 영어점수를 각각 입력받아 평균을 반환하는 프로그램을 제작하시오.
        //경고창 결과
        //평균: XX점 - 소수점으로 나올 수도 있습니다. 

문제팁) 문자열로된 숫자를 숫자타입으로 변경하는 것은 Number(문자열)로 처리해주시면 됩니다. 

 

 

더보기

문제 정답 코드)

<!DOCTYPE html>
<html lang="ko">
    <head>
        <meta charset="UTF-8">
        <title>자바스크립트(JAVASCRIPT) 변수</title>
        <script>
            var kor = prompt('국어점수입력','정수입력');
            var math = prompt('수학점수입력','정수입력');
            var eng = prompt('영어점수입력','정수입력');
            
            var avg = (Number(kor) + Number(math) + Number(eng)) / 3;
            
            alert('평균 : ' + avg + '점');
        </script>
    </head>
    <body>
        
    </body>
</html>

 

문제 정답 결과)

 

 

 

 

 

 

 

 

728x90
반응형