JavaScript - 함수/객체/prompt [0513]

왕감자·2024년 5월 13일

KB IT's Your Life

목록 보기
11/177

1. 함수

  • 코드의 집합
  • 선언 + 호출 ⇨ 함수 생성

1) 선언

  • 익명 함수 : function() { }
  • 선언적 함수 : function 함수이름() { }

실행 우선 순위: 선언적함수 > 익명함수

함수 = function () {
  console.log('함수_A');
};
//함수B가 먼저 읽힘
function 함수() {
  console.log('함수_B');
};
함수(); // 함수_A

2) 매개변수

  • 함수의 괄호 안에 집어넣어 함수 쪽에 추가적인 정보 전달
    function 함수(매개변수, 매개변수..){ }
function square(x) {
  return x ** 2;
}

console.log(square(3));

3) 콜백 함수

  • 매개변수로 전달되는 함수
  • Task가 끝나기 전에 함수가 실행되지 않는 것을 보장 → Tast가 끝난 직후 실행
function callTenTimes(callback) {
  for (let i = 0; i < 10; i++) {
    callback();
  }
}

let fun = function () {
  console.log('함수 호출');
};

callTenTimes(fun); // 함수 호출 10번 출력

const order = function (coffee, callback) {
  console.log(`${coffee} 주문 접수~!`);
  setTimeout(() => {
    callback(coffee);
  }, 3000);
};

const display = function (result) {
  console.log(`${result} 완료!`);
};

order('아메리카노', display);

// 아메리카노 주문 접수~!
// 아메리카노 완료!




2. 객체

  • 자료형 여러 개 한 번에 저장
  • {키(속성명) : 속성}
  • 순서 의미 X
  • 키(속성명): 문자열 → 따옴표(' ') 생략 가능 (공백 있을 시 따옴표 사용)

  • 요소 접근
    • 배열: 인덱스 사용
    • 객체: 사용

  • 속성 접근
    • 대괄호 []
    • 온점 .
    let product = {
    제품명: '건조 망고',
    유형: '당절임',
    성분: '망고', '설탕',
    원산지: '필리핀'};
    
    product['제품명'] // 건조 망고
    product.제품명 // 건조 망고
  • 속성에 입력 가능한 자료형
    • 숫자형
    • 문자열
    • 불린
    • 배열
    • 함수 ⇨ method : 객체의 속성으로서 정의 된 함수
      • 익명함수 - 어차피 이름 붙여도 못 씀
      • 객체 내 속성을 메서드에 사용 - this.
		let person = {
 		 name: '홍길동',
 		 eat: function (food) {
   		 	console.log(`${this.name}${food}을 먹는다`);
  		  // person.name = this.name
		 },
		};

		person.eat('밥');

prompt 함수>

npm install prompt-sync

const prompt = require('prompt-sync')({ sigint: true });

0개의 댓글