JS 반복문,함수

서린·2024년 4월 22일
0

greenstudy

목록 보기
31/44
post-thumbnail

php에서 배웠던 for, while, switch, do_while은 동일해서 생략하고 for...in과 for...of만 정리해둘려고 한다

for...in

  • 모든 객체를 반복하는 문법, key에 접근

let obj = {
	key1: 'val1'
	,key2: 'val2'
}
for(let key in obj) {
	console.log(obj[key]);
}
// 아래처럼 출력
// val1
// val2

// 값에 접근 할려면 arr[key]라고 해주면 접근 가능
let arr = [1, 2, 3];
for(let key in arr) {
	console.log(arr[key]);
}
// 아래처럼 출력
// 1
// 2
// 3

for...of

  • 모든 iterable객체를 반복하는 문법(String, Array, Map, Set, TypeArray..)
  • value에만 접근 가능

let str = 'abc';
for(let val of str) {
	console.log(val);
}
// 아래처럼 출력
// a
// b
// c

let arr = [1, 2, 3];
for(let val of arr) {
	console.log(val);
}
// 아래처럼 출력
// 1
// 2
// 3

function

  • 함수는 php랑 많이 다르다
  • 함수선언식
function mySum(a,b){
    return a + b;
}
function mySum(a,b){
    console.log('재할당');
}
// 이런식으로 함수를 선언하게되면 호이스팅에 영향을 받고, 재할당이 가능하다
  • 함수 표현식
const FNC_MY_SUM = function(a,b){
    return a + b;
}
// 이런식으로 변수에 담아서 하게되면 호이스팅에 영향을 받지않고, 재할당을 방지한다
  • 화살표 함수
const FNC_MY_CUM_2 = (a,b) => a + b;
// 파라미터가 없을 경우
const FNC_TEST1 = function() {
    return 'FNC_TEST1';
}
const FNC_TEST1_A = () => 'FNC_TEST1';
// 파라미터가 1개일 경우
const FNC_TEST2 = function(str) {
    return str;
}
const FNC_TEST2_A = str => str; // 파라미터가 한개일경우 소괄호 생략가능
// 리턴처리 이외의 처리가 있을 경우, {}생략 불가능
const FNC_TEST3 = function(str) {
    if(str === 'a') {
        str = 'a입니다.';
    }
    return str;
}

const FNC_TEST3_A = str => {
    if(str === 'a') {
        str = 'a입니다.';
    }
    return str;
}

콜백 함수

  • 다른 함수의 파라미터로 전달되어 특정조건에 따라 호출되는 함수
const MY_SUB = (callBack, num) => {
    if(num === 3) {
        return '3입니다.';
    } 
    return callBack() - num;
}

const MY_CALLBACK = () => 10;
MY_SUB(MY_CALLBACK, 3);

즉시 실행 함수(IIFE)

  • 함수의 정의와 동시에 바로 호출되는 함수
  • 딱 한번만 호출되고 다시는 호출 불가
  • 모듈화, 스코프 보고, 클로저 형성
const MY_CLASS = (function(){
    const name = '홍길동';

    return {
        myPrint: function(){
            console.log(name + '입니다.');
        }
    }
})();
profile
개발 일기 ( •̀ ω •́ )✧

0개의 댓글

관련 채용 정보