JavaScript - 3

Mongs_sw·2023년 1월 12일

javascript

목록 보기
5/21
post-thumbnail

1. 참과 거짓

1) 비교연산자

(1) 비교연산자를 통해서 참과 거짓을 판별할 수 있댜

1 > 3
false
1 < 3
true
-1 > 20
false
-1<=-`
true

(2) 이중등호와 삼중등호 ('==' / '===')

[1] 이중등호 ( '==' )
: 말 그대로 등호가 2개이며 두 값이 같은지 알아낼 수 있다. but! 타입은 구분하지 않는다.
즉, 두 값이 같으면 타입을 구분하지 않으나, 두 값이 다른 타입이면 같아지도록 강제로 변환시킨다.

예시 1)

1 == 1
true
1 == '1'  // 정수 1과 문자열 '1'은 원래 같지 않다.
true 
null == undefined;
true

[2] 삼중등호 ( '===' )
: 등호가 3개이며, 두 값이 같은지 알아낼 수 있으며, 타입도 구분할 수 있다.
즉, 같은 타입으로 변환하는 과정을 거치지 않는다.

예시 2)

1 === '1'
false
0 === false
false

!= / !== 도 이중등호와 삼중등호의 특성을 따라간다!

2. Console. Alert. Prompt

(1) Console

다른 프로그래밍 언어로 따지면 print()함수와 같은 개념이다.
console.log()

(2) Alert

팝업창을 띄워주는 역할을 한다.

(3) Prompt

Alert처럼 팝업창을 띄우나 입력할 수 있는 팝업창을 띄워준다.


3. 조건문

1) IF 구문

참과 거짓을 판별하기위해 사용하는 구문이다.

예시 1)

	if ( 조건식 ) {
		conslole.log("블라블라");
	}

() 안의 조건이 참이되어야 {} 안에 있는 식이 화면에 출력되며, 만약 조건이 거짓이라면 값은 코드가 실행되지 않는다.

예시 2)

let random = Math.random() ;	// 난수를 받음.
if (random < 0.5) {
	console.log("Your number is less than 0.5!)		// 만약 난수가 0.5이하면 출력
    console.log(random)
}

2) Else If

else if 구문은 if 구문이 선행되어야 사용할 수 있다.
if 구문이 거짓으로 판명되면 else if 구문으로 넘어가게 되는 구조이다.

예시 3)
// 연령에 따른 놀이공원 티켓 값
0-5 free
6-10 $10
11-65 $20
65+ $10

const age = 8;

if(age < 5) {
	console.log("유아 입니다. 유아는 무료입니다.")
} else if(age < 11) {
	console.log("어린이 입니다. 어린이는 10달러입니다.")
} else if (age < 65) {
	console.log("성인입니다. 성인은 20달러입니다.")
}

else if이 있다면 순서대로 작업이 되며, if문 부터 차례대로 else if 구문을 타고 차례대로 실행된다.

만약 첫번째 조건문이 참이면 그대로 else if 구문은 실행되지 않는다.
허나, 첫번째 조건문이 거짓이라면 else if 구문으로 넘어가며 참의 조건이 나올때까지 코드는 진행된다.

3) Else

else는 모든 조건의 맨 마지막에 나타난다.
조건에 매치되는 것이 없다면 마지막 else 항목으로 넘어와 실행된다.
즉, 과정 중에 참이 없다면 else구문을 실행시킨다 라고 보면 된다.

cosnt age = 8;

if(age < 5) {
	console.log("유아 입니다. 유아는 무료입니다.")
} else if(age < 11) {
	console.log("어린이 입니다. 어린이는 10달러입니다.")
} else if (age < 65) {
	console.log("성인입니다. 성인은 20달러입니다.")
} else {
	console.log("노인입니다. 노인은 10달러입니다.")
}

4) 중첩 조건문

조건문 안에 조건문이 들어간 구조

const password = prompt("please enter a password");

// 패스워드 6자리 이상 들어갈 것.
if(password.length >= 6) {
	console.log("Long Enough password")
} else {
	console.log("PASSWORD TOO SHORT! MUST be 6+")
]
// 패스워드에 공백을 포함시키지 말것.
if(password.indexOf(' ') === -1){
	console.log("Good! No space")
} else {
	console.log("Password can't contain spaces!")
}

두 개의 조건을 나누어 작성하면 위의 예시처럼 적을 수 있다.
허나, 중첩 조건문으로 표현한다면 아래와 같다.

if(password.length >= 6) {
	if(password.indexOf(' ') === -1){
	console.log("Valid password")
	} else {
	console.log("Password can't contain spaces!")
	}
} else {
	console.log("ASSWORD TOO SHORT! MUST be 6+")
}

5) TRUTHY 와 FALSY

자바스크립트 언어에는 TRUTHY 와 FALSY 값이라는 고유의 값이 존재한다.
falsy 값을 제외한 모든 값은 truthy이다.

FALSY

  • false
  • 0
  • "" (비어있는 문자열)
  • null
  • undefined
  • NaN

6) 논리 연산자 (AND, OR, NOT)

(1) AND

&&가 AND를 표현하는 기호이다.

문장 전체가 참이 되려면 좌측 표현식과 우측 표현식 모두가 참이어야만 한다.
둘 중, 하나라도 거짓이면 거짓이 된다.

const password = prompt("Enter your password");
if (password.length >=6 && password.indexOf(' ') === -1) {
	console.log("Valid password!")
} else {
	console.log("INCORRECT FORMAT FOR PASSWORD!")
}

(2) OR

||가 OR를 표현하는 기호이다.

문장 전체가 참이 되려면 좌측 표현식과 우측 표현식 중 단 한개라도 참이라면 문장 전체가 참이된다.
둘 중, 하나가 참이면 하나가 거짓이어도 참이 된다.

// 0-4 free
// 5-10 $10
// 10-65 $20
// 65+ free
// 여기서 오류가 있던 것은 단순 음수를 입력하여도 오류가 뜨지 않고 계산되는 오류가 발생하였음. 
이때, 논리 연산자를 활용하여 음수가 없는 진짜 나이대에 해당하는 상황에서만 가격을 확인할 수 있도록 만들어야 했음.

// 영유아, 노인은 모두 무료 입장. 입력한 나이가 유아이면 무료거나 노인이여도 무료이기 때문에 두 나이대 중 한 나이대에 해당하면 무료로 처리되게 하려면 `or`를 사용해야함.


const age = alert("Enter your ages!");
if(age>=0 && age < 5 || age > 65) { 	
    console.log('Free')
} else if(age >= 5 && age < 10){
    console.log('$10')
} else if(age >= 10 && age < 65) {
    console.log("$20")
} else {
    console.log("INVALID AGES!")
}

(3) NOT

값을 결합시키진 않으나 값을 바꿔주는 연산자이다.
!기호를 사용하며, 참은 거짓으로, 거짓은 참으로 바꿔준다.

false
>false

!flase
>True

null	
> null

!null
> True	// 원래 null은 거짓이다 허나 거짓이라는 결과값을 !(NOT)이 반전시켜주므로 true가 된다.



profile
몽이아빠의 개발 일기

0개의 댓글