본문 바로가기
JavaScript

[JavaScript] 04. 연산자와 함수

by 쪼리밍 2022. 1. 3.

1. 산술 연산자(Arithematic operator)

산수 계산을 하는 계산하라는 기호

 

1-1) 이항 연산자(binary operator)

2개의 피연산자를 가지는 오퍼레이터)

사칙연산자 (+, -, *, /)

나머지 연산자(%)

1-2) 단항 연산자(unary operator)

1개의 피연산자를 가지는 오퍼레이터)

대표적으로 - 연산자

증감연산자

++(변수의 값을 증가시키는 연산자)

--(변수의 값을 감소시키는 연산자)

변수의 값을 수식 안에서 사용 가능/ 변수의 값을 업데이트

 

<lecture09.js>

var a=1;
console.log(a);
console.log(a+1);
console.log(a);

<lecture09.js>

var a=1;
console.log(a);
console.log(++a);
console.log(a);

++a;   같음    a = a+1;

--a;    같음   a = a-1;

 

<lecture09.js>

var a=1;
console.log(a);
console.log(a++);
console.log(a);

 

1-3) Math

수학적 상수 및 함수들이 Math 객체에 정의가 되어 있음 

Math.pow(A,b): A의 b승

Math.sqrt(A): A의 제곱근

Math.random(): 0~1 사이의 임의의 난수 발생

삼각함수나 로그 함수등 다양한 함수 정의 되어 있음

2. 함수 사용

입력(인자), 출력(반환하는 값, return값)

호출에 의해 여러번 실행할 수 있는 코드 블럭

   - 반복되는 코드 감소

   - 코드의 개발 및 수정 용이

   - 기능 추상화(내부를 알 필요 없음)

console.log("콘솔에 로그를 남기는 함수");

 

함수를 호출한다.

기능을 수행하고 결과값 반환

 

파라미터: 함수의 정의 부분에 나열되어 있는 변수

return: 함수의 출력으로 내보낼 값

return 구문을 만나면 함수는 즉시 종료

함수를 호출한 표현식 반환값으로 대치됨

 

함수의 호출 방법

함수이름(인자, ...)의 형태로 호출

 

<function.js>

function 함수이름( 인자1, 인자2 ) {
    /* 실행할 코드 */
    return 결과값;
}

function return_test() {
    return;
    console.log("실행되지 않는 코드");
}

function print(message) {
    console.log("print function in");
    console.log(message);
    console.log("print function out");
}

function sum(arg1, arg2) {
    var result = arg1 + arg2;
    return result;
}

<function.html>

<html>
	<head>
		<meta charset="utf-8">
		<script src="function.js"></script>
	</head>
	<body>
		function
	</body>
</html>

* print() 함수에서 return을 만들지 않았기때문에 실행결과가 undefined로 나타남

 

3. 관계연산자(Relational operator)/논리연산자(Logical operator)

피연산자 2개 ex) 비교연산

두 표현식(A,B)의 관계를 비교하는 이항연산자.

관계에 따라 boolean 타입의 true,false로 반환됨

 

<lecture10.js>

var a=1, b=2, c=3, d=4;
var e="a", f="b", g="c", h="d";

<index.html>

<html>
	<head>
		<meta charset="utf-8">
		<script src="lecture10.js"></script>
	</head>
	<body>
		This is a basic HTML page
	</body>
</html>

 

3-1) 숫자

3-2) 문자

비교는 사전 순 e<f : true

3-3) 숫자나 문자를 직접 피연산자로 활용

아리스메틱 오퍼레이터와 마찬가지로 숫자나 문자를 직접 피연산자로 활용할 수도 있음 1<3 : true "a"<"b" : true

(* === 연산자와 == 연산자 비교 조사)

 

 

4. 논리연산자(Logical operator)

boolean 타입을 가지고 다시 연산 가능

두 boolean 피연산자에 대해 연산하는 연산자

4-1) And(&&)

두 피연산자가 모두 true인 경우에만 true를 나타내는 이항연산자

4-2) Or(||)

두 피연산자가 하나라도 true인 경우 true를 나타내는 이항연산자

4-3) Not(!)

피연산자가 true인 경우 false를, false인 경우 true를 나타내는 단항연산자

 

 

1) 키가 180이상 20대 검색

height >= 180 && age >= 20 && age < 30

 

2) 8세 미만 or 65세 이상 검색

age < 8 || age >= 65

 

5. 연산자 우선순위

 

2 * 3 > 4 + 5 && 6 / 3 == 2 || !false

 

2 * 3 > 4 + 5 && 6 / 3 == 2 || !false

=> !false부터 연산됨

 

2 * 3 > 4 + 5 && 6 / 3 == 2 || true

=> *, /,+순으로 연산됨

 

6 > 9 && 2 == 2 || true

=> 비교 연산자 연산됨

 

false && false || true

=> and 먼저 계산 후 

 

false || true

=> or 계산

true

 

height >= 180 && gender == "male" || height >= 165 && gender == "female"
(height >= 180 && gender == "male") || (height >= 165 && gender == "female")

결과는 똑같음

하지만 명확하게 보여짐

 

 

 

 

 

 

 

 

'JavaScript' 카테고리의 다른 글

[JavaScript] 06. 배열  (0) 2022.01.10
[JavaScript] 05. String  (0) 2022.01.09
[JavaScript] 03. 기본자료형  (0) 2022.01.01
[JavaScript] 02. 변수 선언과 초기화  (0) 2022.01.01
[JavaScript] 01. 실습환경 및 기본 조작  (0) 2022.01.01

댓글