2022.01.20 TIL

이예슬·2022년 1월 20일
0

TIL

목록 보기
8/14

7일차는 빼먹고 바로 시작하는 8일차 정리!

엘리스 수업 날짜로 계산 안하고 TIL no. 로 정리하기로 수정했다!


  • 증감 연산자
    var num = 10;
    console.log(++num); // num+1 후 num 출력 //11
    console.log(--num); // num-1 후 num 출력 //10
    
    console.log(num++); // num 출력 후 num+1 //10 
    console.log(num--); // num 출력 후 num_1 //11  
  • 조건문 → 주어진 조건에 따라 결과값을 출력하는 구문 조건으로는 비교 연산자 또는 논리 연산자 사용 → if (조건) {수행할 명령}
  • 반복문

    • for (초기화한 변수값; 조건; 증감 표시) {수행할 명령}
      for (var i = 0; i < 10; i++) {
      	console.log(i);
      }
    • while( 조건) {수행할 명령}
      var num =0; 
      
      while (num < 10) {
      	console.log(num);
      	num ++;
      }
    • do {수행할 명령} while (조건); while의 조건과 관계 없이 do의 명령을 무조건 실행부터 한다.
      var i = 12;
      
      do (
      	console.log(i);
      	i++;
      } while (i < 10);

    이외에도 활용 문제들을 풀었지만 그 내용은 공유불가한 내용이므로 여기까지만!!
    아래는 드림코딩 엘리 채널보고 공부한 내용!


// Function

//1. Function declaration 
//function name(param1, param2) {body...return;}
//하나의 함수에는 하나의 기능만 들어가는 게 좋고 이름은 동사로 지어라! 
//function is object in Js
function printHello() {
    console.log('Hello');
}
printHello();//Hello

function log(message) {
    console.log(message);
}
log('hello'); //hello

//2. Parameters 
//premitive parameter: pass by value
//object parameters: passed by reference
function changeName(obj) {
    obj.name = 'coder';
}
const ellie = {name: 'ellie'};
changeName(ellie);
console.log(ellie); // coder 

//3. Default parameters 
function showMessage(message, from = 'unknow') {
    console/log(`${message} by ${from}`);
    }
showMessage('Hi');

//4. Rest parameters 
function printAll(...args) {
    for (let i = 0; i < args.length; i++) {
        console.log(args[i]);
    }
}
printAll('dream', 'coding', 'ellie'); 
// args 는 array로 받음 

//5. Local scope
let globalMessage = 'global'; // gloval variable 
function printMessage() {
    let message = 'hello';
    console.log(message); // local variable
    console.log(globalMessage);
    function printAnother() {
        console.log(message);
        let childMessage = 'hello';
    }
}
printMessage();

// 밖에서는 안이 보이지 않고 안에서만 박을 볼 수 있다. 

//6. Return a value 
function sum(a, b) {
    return a + b;
}
const result = sum(1, 2); //3

//7. Early return, early exit 
//bad
function upgradeUser(user) {
    if (user.point > 10) {
        //long upgrad logic...
    }
}

//good 
function upgradeUser(user) {
    if (user.point <= 10){ 
        return;
    }
}
//long upgrade logic 


// Callback function using function expression 
function randomQuiz(answer, printYes, printNo) {
    if (answer === 'love you') {
        printYes();
    }else {
        printNo();
    }
}
//anonymous function 
const printYes = function () {
    console.log('yes');
};

//named function 
//better debugging
const printNo = function print() {
    console.log('no');
}


//Arrow function 
//always anonymous 
const simplePrint =function () {
    console.log('simplePrint!');
};

const simplePrint = () => console.log('simplePrint!'); 
const add = (a,b) => a + b;
const simpleMultiply = (a, b) => {
    return a * b;
};

//IIFE Immediately Invoked Function Expression 
(function hello () {
    console.log('IIFE');
})(); // IIFE
 
profile
꾸준히 열심히!

0개의 댓글