6일차 혼공스 CH 05. 함수 (변수 호이스팅, 반복문, 함수)

seul-bean·2023년 5월 20일
0

Today I learned

목록 보기
6/40
post-thumbnail

오늘은 주구장창 '혼공스' 함수 부분을 공부했다.

오늘의 study 목표!!!

  • ‘혼공스’ Ch.05 함수

하루의 15분씩 '모던 자바스크립트' 책을 읽는데 오늘은 다음 내용을 알게 되었다!!

변수 호이스팅 (모던 자바스크립트 43p)

변수 선언문이 코드의 선두로 끌어 올려진 것처럼 동작하는 자바스크립트 고유의 특징을 변수 호이스팅이라 한다.
사실 변수 선언뿐 아니라 var, let, const, function, function*, class 키워드를 사용해서 선언하는 모든 식별자(변수, 함수, 클래스 등)는 호이스팅된다.

자바 스크립트 엔진은 변수 선언과 값의 할당을 하나의 문으로 단축 표현해도 변수 선언과 값의 할당을 2개의 문으로 나누어 각각 실행한다.
변수 선언은 소스코드가 순차적으로 실행되는 시점인 런타임 이전 (소스코드 실행을 위한 준비 단계인 소스코드의 평가과정)에 먼저 실행되지만 값의 할당은 소스코드가 순차적으로 실행되는 시점인 런타임에 실행된다.

자바스크립트에서는 HTML 문서로 보이는 결과가 아닌 이상 엔터 문자를 < br > 태그 대신에 \n(역슬래시 n)을 써줘야 한다.



어제 미처 다 공부하지 못한 반복문부터 적어보려한다.

while 반복문

if 조건문과 다른 점은 문장을 한 번만 실행하고 끝나는 것이 아니라 불 표현식이 true면 계속해서 문장을 실행한다는 것.

while (불 표현식) {
  문장
}

반복문이 무한 반복되는 것을 무한루프라고 한다.
break 구문 등을 활용해서 반드시 무한 반복을 벗어나도록 코드를 구현해야 한다.

while 반복문과 for 반복문은 서로 대체해서 사용할 수 있다.
'특정 시간동안 어떤 데이터를 받을 때까지', '배열에서 어떠한 요소가 완전히 제거될 때까지'등 조건을 기반으로 사용하는 반복문에 while 반복문을 사용한다.

break 키워드

switch 조건문이나 반복문을 벗어날 때 사용하는 키워드.

while (true) {

} break

continue 키워드

반복문 안의 반복문 작업을 멈추고 반복문의 처음으로 돌아가 다음 반복 작업을 진행한다.

break 키워드나 continue 키워드는 반복문의 조건식을 적절하게 만들면 필요 없는 구문이기도 하다. 프로그래밍을 처음 배울 때는 조건식 만드는 게 익숙하지 않아 break 키워드나 continue 키워드가 필요 없는 부분에도 무리하게 사용하는데, 최대한 자제할 수 있도록 주의해야 한다.

중첩 반복문

중첩 반복문을 여러 겹 중첩해 사용하면 중첩 반복문이라고 부른다.
일반적으로 n-차원 처리를 할 때 사용.

반복문 끝!!

반복문 문제 풀다가 모르는 연산자를 발견해서 검색해봤다.

논리 부정 연산자: !

논리 부정 연산자(!)는 피연산자의 의미를 반전합니다.
피연산자는 산술 형식, 포인터 형식 또는 산술/포인터 형식으로 계산되는 식이어야 합니다.
피연산자는 암시적으로 형식 bool으로 변환됩니다. 변환 true 된 피연산자는 false이고,
변환된 피연산자는 이면 결과는 false 입니다 true. 결과는 bool 형식입니다.



Ch 05. 함수


함수: 코드의 집합을 나타내는 자료형
함수 호출: 함수를 사용하는 것.
매개 변수: 괄호 내부에 여러가지 자료. 함수 호출할 때 괄호 안에 적는 것.
리턴값: 함수를 호출해서 최종적으로 나오는 결과

함수를 사용하면 좋은 점

  • 반복되는 코드를 한 번만 정의해놓고 필요할 때마다 호출하므로 반복 작업을 피할 수 있다.
  • 긴 프로그램을 기능별로 나눠 여러 함수로 나누어 작성하면 모듈화로 전체 코드의 가독성이 좋아진다.
  • 기능별(함수별)로 수정이 가능하므로 유지보수가 쉽다.

익명함수: 이름이 붙어있지 않은 함수

function () {}


선언적 함수

function 함수() {
}


일반적으로 자바스크립트에서 true 또는 false를 리턴하는 함수는 is○○이라는 이름으로 만드는 편임.
function 함수(매개변수) {
	let output = 초깃값
    처리한다
    return output
}

가변 매개변수 함수: 호출할 때 매개변수의 개수가 고정적이지 않은 함수 > function 함수 이름(...나머지 매개변수) { } 함수의 매개변수 앞에 마침표 3개(...)를 입력하면 매개변수들이 배열로 들어옴.

나머지 매개변수와 일반 매개변수 조합하기

function 함수 이름(매개변수, 매개변수, ...나머지 매개변수) { }


함수 오늘은 일단 끝!!

또 문제 풀다 모르는 메소드가있어서 검색해봄.

Array.isArray()

메서드는 인자가 Array인지 판별합니다.
반환 값: 객체가 Array라면 true, 아니라면 false.



오늘은 문제 분석하고 푸는데 오래 걸려서 별로 공부를 못한거 같다😭 너무 아쉬워ㅠㅠㅠㅠ
공부할건 무진장 많은데 시간이 너무 빨리가요ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ

profile
안녕하세요 성장하는 새싹 프론트엔드 개발자 입니다🌱

0개의 댓글