TIL 20220119

Gray Sheep·2022년 1월 19일
0

Let's Get IT 자바스크립트 프로그래밍

고차함수

const innerFunc1 = func('hello');
const innerFunc2 = func('javascript');
const innerFunc3 = func();
innerFunc1(); // hello
innerFunc2(); // javascript
innerFunc3(); // undefined

func처럼 함수를 만드는 함수를 고차 함수(high order function)라고 한다.

const func = (msg) => {
  return () => {
    console.log(msg);
  };
};

화살표 함수 문법에 따라 함수의 본문에서 바로 반환되는 값이 있으면 {와 return을 생략할 수 있다.

//고차함수에서 {와 return 생략
const func = (msg) => () => {
  console.log(msg);
};

eval 함수

eval('1+2'); //3

문자열을 그대로 실행한다.
해킹 위험있어서 사용하지않음

랜덤 숫자 중복없이 만들기

//뽑아낼 숫자풀 배열
 const numbers = [];
  for (let n = 1; n <= 9; n += 1) {
    numbers.push(n);
  }
//numbers 배열에서 랜덤한 인덱스로 숫자를 선택해 answer에 넣고 그 인덱스는 number배열에서 잘라냄
  const answer = [];
  for (let n = 0; n <= 3; n += 1) { // 네 번 반복
    const index = Math.floor(Math.random() * numbers.length); // numbers 길이에 따라
    answer.push(numbers[index]);
    numbers.splice(index, 1);
  }

입력창 enter로 실행

보통 입력창이 있으면 폼 태그로 감싸서 submit 이벤트를 사용하는 것이 좋습니다. 그래야 버튼을 클릭하지 않고도 Enter를 눌러 값을 제출할 수 있습니다.

$form.addEventListener('submit', (event) => {
  event.preventDefault(); //폼태그 기본동작 취소(새로고침)
 //실행 내용
});

중복된 숫자 있는지 검사

Set객체 사용 MDN문서

function checkInput(input) {
  if (new Set(input).size !== 4) { // 중복된 숫자가 있는가
    return alert('중복되지 않게 입력해 주세요.');
  }
 
}
new Set('1231'); //Set내부에 1,2,3만 들어감
//그 후 Set요소의 개수를 세면 중복이 있는지 검사 가능
//Set요소의 개수를 구할때는 length가 아닌 size를 사용
profile
2022 목표 - 리액트 잘하기

0개의 댓글