console.log(1 + 1 === 2) // true
console.log('mobile' === 'MOBILE') // false
만약 (조건)이 참(true) 이라면 ~ / 거짓(false) 이라면 ~
구글 검색: 자바스크립트 비교연산자
- 일치(===), 불일치(!==), 작거나 같음(<=), 크거나 같음(>=), 작음(<), 큼(>)
if(조건1) {
결과,동작
}else if(조건2){
결과,동작
}else{
결과,동작
}
구글 검색: 자바스크립트 논리연산자
- AND(&&), OR(||), NOT(!)
- Truthy: 불리언이 들어갈 거 같은 자리에 들어가서 true로 평가되는 것
falsy가 아닌 값들..- Falsy: 0, -0, 0n, ""(빈 string), null, undefined, NaN
let a = 0; //falsy
let b = 100; //truthy:
if(a){
console.log("a is falsy")
}else if(b){
console.log("b is truthy")
}
// "b is truthy"
// 숫자100이 true는 아니지만 if문 내에서 true인 것처럼 동작함
/*
- 함수의 인자 who 가 "son" 이면 "Nope!" 리턴
- 함수의 인자 who 가 "dad" 이면 "Good!" 리턴
- 함수의 인자 who 가 "grand father" 이면 "Be careful!" 리턴
- 나머지의 경우 "Who are you?" 리턴
*/
function isOkayToDrive(who) {
if(who === "son"){
return "Nope!";
}else if(who === "dad"){
return "Good!";
}else if(who === "grand father"){
return "Be careful!"
}else{
return "Who are you?"
}
}
console.log("SON~! " + isOkayToDrive("SON"))
console.log("DAD~! " + isOkayToDrive("DAD"))
console.log("GRAND FATHER~! " + isOkayToDrive("GRAND FATHER"))
console.log("MOM~! " + isOkayToDrive("MOM"))
module.exports = { isOkayToDrive }
/*
- 이름(name)과 나이(age)를 입력받는 checkAge라는 함수는 나이에 따라 다른 메시지를 리턴합니다.
- 만일 나이가 21살보다 적으면, "Go home, (name)!"
- 나이가 21살이거나 더 많으면, "Nice to meet you, (name)!" 을 리턴하세요.
- 쉼표와 공백, 느낌표까지 정확히 리턴해야 합니다.
*/
function checkAge(name, age) {
if(age < 21){
return "Go home, " + name + "!";
}else if(age >= 21){
return "Nice to meet you, " + name + "!"
}
}
console.log(checkAge("Jane", 3), "너 아직 21살 안됐잖아.")
console.log(checkAge("Donald", 21), "너는 21살 이상이야.")
module.exports = { checkAge }
/*
equalsWecode 함수를 작성하세요.
- 이 함수는 주어진 문자열이 "wecode"와 같은지의 여부에 따라 true 혹은 false를 반환합니다.
*/
function equalsWecode(string) {
if(string === "wecode"){
return true;
}else{
return false;
}
}
let a = "Wecode";
let b = "wecode"
console.log(" Is " + a + " equal to wecode?", equalsWecode(a))
console.log(" Is " + b + " equal to wecode?", equalsWecode(b))
module.exports = { equalsWecode }
/*
- 두 숫자가 주어졌을 때 어느 숫자가 더 큰지의 여부에 따라 다른 메세지 값을 리턴합니다.
- 첫번째 숫자(num1)가 두번째 숫자(num2)보다 더 큰 경우 "First one is greater!" 리턴
- 두번째 숫자(num2)가 첫번째 숫자(num1)보다 더 큰 경우 "Second one is greater!" 리턴
- 첫번째 숫자(num1)와 두번째 숫자(num2)가 같은 경우 "Same!" 리턴
*/
function findGreaterNum(num1, num2) {
if(num1 > num2){
return "First one is greater!";
}else if(num1 < num2){
return "Second one is greater!";
}else if(num1 === num2){
return "Same!"
}
}
console.log(findGreaterNum(100,1))
console.log(findGreaterNum(100,1090))
console.log(findGreaterNum(3,3))
module.exports = { findGreaterNum }
// isEven 함수는 주어진 숫자가 짝수인지의 여부를 반환합니다.
function isEven(num) {
if(num % 2 === 1){
return false;
}else if((num !== 0) && (num % 2 === 0)){
return true;
}else{
console.log(num + "에 2를 나눈 나머지는 " + num % 2);
return "Please enter an natural number";
}
}
console.log(isEven(42))
console.log(isEven(79))
console.log(isEven(993.1))
console.log(isEven("12" + "12"))
console.log(isEven("12" + 1))
console.log(isEven("apple"))
console.log(isEven(-15))
module.exports = { isEven }
🤔 왜 993.1을 2로 나눈 나머지는 1.1000000000000227 일까?
// isOddAndGreaterThanTwenty 함수를 작성하세요.
//- 숫자가 주어졌을때 주어진 숫자가 홀수이고 20보다 큰 경우에만 true를 반환합니다.
function isOddAndGreaterThanTwenty(num) {
if((num % 2 === 1) && (num > 20)){
return true;
}else{
return false;
}
}
console.log(isOddAndGreaterThanTwenty(17)) //false
console.log(isOddAndGreaterThanTwenty(33)) //true
console.log(isOddAndGreaterThanTwenty(54)) //false
console.log(isOddAndGreaterThanTwenty(-153)) //false
console.log(isOddAndGreaterThanTwenty("true")) //false
console.log(isOddAndGreaterThanTwenty(0)) //false
console.log(isOddAndGreaterThanTwenty(56.3)) //false
/*
- 점수가 주어졌을때 주어진 점수에 따라 서로 다른 등급을 문자열로 반환합니다.
- (100 이하 ~ 90 이상) --> 'A'
- (89 이하 ~ 80 이상) --> 'B'
- (79 이하 ~ 70 이상) --> 'C'
- (69 이하 ~ 60 이상) --> 'D'
- (59 이하 ~ 0 이상) --> 'F'
- 점수가 100을 초과하거나 0 미만인 경우 --> 'INVALID SCORE'
*/
function whichGrade(score) {
if(score <= 100 && score >= 90){
return 'A';
}else if(score <= 89 && score >= 80){
return 'B';
}else if(score <= 79 && score >= 70){
return 'C';
}else if(score <= 69 && score >= 60){
return 'D';
}else if(score <= 59 && score >= 0){
return 'F';
}else if(score > 100 || score < 0){
return 'INVALID SCORE';
}
}
/*
- 인자로 주어진 expression1과 expression2는 boolean 타입입니다.
- 두 인자가 모두 `false`인 경우에는 `false`를 반환하며 그 이외의 경우에는 모두 `true`를 반환합니다.
주의)
- `||` 연산자를 사용하지 마세요.
- 대신 `!` 와 `&&` 연산자를 사용하세요.
*/
function or(expression1, expression2) {
if(expression1 !== true && expression2 !== true){
return false;
}else{
return true;
}
}
console.log(or(true,true)) // true
console.log(or(false,true)) // true
console.log(or(true,false)) // true
console.log(or(false,false)) // false
module.exports = { or }
/*
- 함수의 인자로 숫자 두개가 주어졌을때 함수는 2가지 조건을 검사합니다.
- 우선 두 숫자 중 적어도 하나가 짝수인지 확인합니다.
- 그리고 두 숫자 모두 9보다 작은지를 확인합니다.
- 두 조건을 모두 만족하는 경우만 true를 반환합니다.
*/
function isEitherEvenAndLessThan9(num1, num2) {
if(num1 * num2 !== 0 && (num1 % 2 === 0 || num2 % 2 === 0) ){
if(num1 < 9 && num2 < 9){
return true;
}else{
return false;
}
}else{
return false;
}
}
function isEitherEvenAndLessThan9(num1, num2) {
if(num1 * num2 !== 0 && (num1 % 2 === 0 || num2 % 2 === 0) && (num1 < 9 && num2 < 9)){
return true;
}else{
return false;
}
}
console.log(isEitherEvenAndLessThan9(3,4)) // true
console.log(isEitherEvenAndLessThan9(32,4)) // false
console.log(isEitherEvenAndLessThan9(3,40)) // false
console.log(isEitherEvenAndLessThan9(0,0)) // false
module.exports = { isEitherEvenAndLessThan9 }