TIL : 23.01.19

jin·2023년 1월 24일
0

TIL

목록 보기
7/39
post-thumbnail

23.01.18-23.01.26 언어학습주차 / javascript

함수

▶︎ 함수 기본

function 함수이름(매개변수, 복수일경우콤마로) {
  /*함수 내용*/
}
  • 함수에 전달된 매개변수는 복사된 후 지역변수가 된다.
  • 함수는 외부변수에 접근가능하나, 함수 밖에서 내부로의 지역변수에 접근은 불가
  • 함수는 값을 반환할 수 있으며, 반환하지 않는 경우 undefined가 된다.
  • 깔끔한 코드 작성시 외부변수 사용보단 지역변수와 매개변수를 활용하도록 한다.
  • 함수 이름을 지을때는 다음과 같은 규칙을 따르자
    이름에서 함수가 어떤 함수인지 설명되어야 한다.
  1. show…() create…() get…() check…()와 같은 접두어를 사용해 이름을 짓자.
  • 타언어와 달리 자바스크립트에선 ()가 있어야 함수의 내용이 호출된다. ()가 없을 경우 함수의 코드가 보일 수 있음
  • 함수도 값이므로 복사, 할당, 선언이 가능
  • 함수 선언문 : function~ 으로 시작되는 선언문으로 독립된 구문, 선언문 정의 전에도 호출이 가능
  • 함수 표현식 : let a= function()~와 같이 표현되는 타입으로 실제 실행흐름이 함수에 도달해야 생성되므로 선언문 정의 전에 호출 불가

▶︎ 화살표 함수
ES6에서 쓰이는 함수이므로 사용방법 꼭 숙지해두기

let A = function() {
  return A;
}

위와 같이 함수표현식으로 나타내었을때, function을 제외해 ()뒷쪽에 =>으로 배치할 수 있으며, 함수의 내용이 1개의 동작을 나타낼 경우 {} 중괄호를 제외하고도 사용가능하다.

let A = () => return A;

[과제 : 아래 함수 표현식을 화살표 함수로 바꿔보자.]

function ask(question, yes, no) {
  if (confirm(question)) yes()
  else no();
}
ask(
  "동의하십니까?",
  function() { alert("동의하셨습니다."); },
  function() { alert("취소 버튼을 누르셨습니다."); }
);

[정답] -> 성공!

function ask(question, yes, no) {
  if (confirm(question)) yes()
  else no();
}
ask(
  "동의하십니까?",
  ()=> alert("동의하셨습니다."); ,
  ()=> alert("취소 버튼을 누르셨습니다.");
);

객체 및 객체 심화

▶︎ 요소 추가/제거 메서드

  • arr.push(…A) > 배열의 맨 끝에 요소(A) 추가
  • arr.pop() > 배열의 맨 끝 요소 제거
  • arr.shift() > 배열의 맨 앞 요소 제거
  • arr.unshift(…A) > 배열의 맨 앞에 요소(A) 추가
    ▶︎ forEach
    주어진 함수를 배열요소 각각에 대해 실행하는 역할
arr.forEach(function(item, index, array){
  // 동작 내용
});

▶︎ map
arr.map의 경우 유용성 및 사용 빈도가 아주 높은 메소드이므로 숙지하기!
배열 요소 전체를 대상으로 함수를 호출하고, 결과를 배열로 반환한다.

let result = arr.map (function(item, index, array){
  //요소 대신 새로운 값 반환
});

▶︎ sort

  • arr.sort()의 경우 배열의 요소를 정렬해준다.
  • arr.sort(a, b)에서 return <0 일 경우 a가 b보다 앞으로 (인덱스 값이 앞으로 가야 하므로)
  • arr.sort(a, b)에서 return >0 일 경우 b가 a보다 앞으로 (인덱스 값이 뒤로 가야 하므로)
  • arr.sort(a, b)에서 return =0 일 경우 순서변경 없음
profile
。˚⋆。˚ ☁︎˚。⋆。˚☽˚。⋆˚ ☁︎˚

0개의 댓글