웹개발

2022-08-18 국비지원 웹개발 8일차

러쉬허쉬 2022. 8. 25. 02:09

<강사님>

코드가 눈에 익었다고 아는 게 아니에요.

코드를 설명할 수 있어야 아는 거예요.


논리 연산자, 3항 연산자 등에 대해 배웠다.


미션. 몸무게와 키를 임의의 변수에 대입한 후 키가 200 이상 이거나 몸무게가 150 이상이면 true를 출력하시오.

 

미션. 국어, 영어 점수를 임의의 변수에 대입한 후 평균을 구하고, 국어 영어 점수 중 하나가 40 미만 이거나 평균이 60 미만일 때 true를 출력하시오.

 

미션. 회원가입 여부가 변수 r에 저장되어 있고, 구매금액이 amt에 저장되어 있을 때, 회원이고 구매금액이 10000원 이상이면 true를 출력하시오.

 

미션. 변수 n에 정수 하나를 대입한 후 3항 연산자를 사용하여 홀짝수를 구분해 홀수인 경우 "홀수"를 짝수인 경우 "짝수"를 정수 n과 함께 출력하시오.


1.  논리곱

 

 

연산 생략:

let x=10;

r=(10>20)&&(x++>0);

console.log(r);

console.log(x);

 

이 경우 false와 10이 기록된다. 첫 번째 조건이 거짓이라 x++연산이 생략되었다.

 

let x=10;

r=(10>20)&(x++>0);

console.log(r);

console.log(x);

 

이 경우 0과 11이 기록된다. 첫 번째 조건이 참이라 두 번째 조건이 처리되면서 x++연산이 되었다.

처음에 나온 0은 비트 연산으로 0과 1만 표현되는데 0은 거짓이다. (굳이 알 필요는 없다.)

 

많은 양의 데이터를 처리할 때 연산 생략 기능이 유용하니 그냥 &&과 ||만 사용하는 게 좋다.

 

2. 논리합

 

3. 3항 연산자

 

 

기본 틀은 이렇다.

(조건) ? 변수 1 : 변수 2;

조건이 참일 경우 변수 1을 수행하고, 거짓이면 변수 2를 수행하여 그 결과를 전달한다.

 

 

4. 논리 연산자

 

참이나 거짓이다.

5. 기타

 

(1) var name: 'hong'

name: 'hong'

위에는 변수를 처음 선언했다는 게 명확하고, 밑에는 처음 선언된 건지 값을 바꾼 건지 명확하지 않다.

그래서 변수를 처음 선언할 때는 명령어를 써서 선언하는 게 좋다.

 

(2) 익명 함수: 이름이 없는 함수. function(){ }

 

(3) 변수는 대소문자를 구분한다.

고유 명령어를 변수로 사용할 수 없다. 포함은 가능하다. (ex. var var=0; 불가능, var var3=0; 가능.)

변수 이름의 시작은 영어 또는 밑줄로 쓴다.

변수 이름은 영어 대소문자, 숫자, 밑줄만 사용할 수 있다.

 

(4) 객체 생성법:

(a) 리터럴 let obj={ }

(b) 함수    function obj(){ }

(c) 클래스 class obj { }

 

(a), (b), (c) 모두 obj라는 이름의 객체를 생성하는 틀이다.

obj는 틀에 의해 만들어진 요소로 인스턴스라고 한다. 인스턴스는 메모리에 저장된 상태를 뜻한다.

 

(5) 모듈러%: 10%2는 10을 2로 나눌 수 있을 때까지 나눈 후 남은 나머지를 구한다. 즉 0이다.

=은 대입 연산자로 값을 대입한다는 뜻이고, ==이 같다는 표시다.

===은 값+데이터 유형까지 비교한다. 같다는 뜻이고 ==보다 빠르다.

!=은 같지 않다.

<, >, >=, <= 도 있다.

 

(6) 전치 or 선행

a=10;

b=++a;

이 경우 a=11, b=11이다.

 

후치 or 후행

a=10;

b=a++;

이 경우 a=11, b=10이다.

 

(7) a = a + 1; 은

a += 1; 과 같다.

 

a에 1을 더해 다시 a에 대입한다는 뜻이다.