자바스크립트 콜백함수는? 반드시 순서가 지켜져야 하는 경우 사용 가능하다.
자바스크립트에서 forEach(ES5), Map(ES6)는? 배열에 저장된 값을 하나씩 꺼내볼 수 있다.
고차함수는 리턴에 오는 값이 함수이니까 이것을 호출하려면 할당연산자로 일단 받아내고,
반환형으로 함수사용할 수 있음
//할당연산자로 받아내기 - 익명의 함수
const sayHello = () => {
return function () {
console.log('hello')
}
}
console.log(sayHello) // [Function : sayHello]
const myFunc = sayHello() //여기서 myFunc은 sayHello의 리턴타입으로 있는 함수임!!
sayHello()
console.log(myFunc) //[Function (anonymous : 익명 ]
{ } - 객체, 참조형, 함수도 들어갈 수 있음.
(functtion A(){실행문})();
forEach(ES5), Map(ES6) → 배열이 아니라 값 하나씩 꺼내볼 수 있는 forEach문
- https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach
let depts = [
{ deprno: 10, dname: '총무부', loc: '부산' },
{ deprno: 20, dname: '개발부', loc: '서울' },
{ deprno: 30, dname: '인사부', loc: '인천' },
]
얕은 복사 : 하나다, 주소, 속성, 값 동일(원본 오염 가능성 有)
깊은 복사 : 독립적 관계, 새로운 배열을 추가하여 새롭게 생성(원본 오염 불가능)
//얕은복사 : 주소, 속성, 값 동일하여 원본이 오염될 수 있음.
const copy2 = names
console.log(names) //['지연', '제이', '람쥐']
console.log(copy2) //['지연', '제이', '람쥐']
//깊은복사 - 새롭게 배열을 추가하여 다른 배열로 생성됨.
copy.push('나제이')
console.log(names) //['지연', '제이', '람쥐']
console.log(copy) //['지연', '제이', '람쥐', '나제이']
함수의 파라미터 자리에 들어가는 함수-prototype
반드시 순서가 지켜져야 하는 경우 사용 가능
first = () => {
console.log('1')
}
second = () => {
console.log('2')
}
first()
//first 함수의 지연 발생
second()
// 파라미터자리에 함수를 보내서 무조건 해당 순서대로 진행되도록 코드를 짤 수 잇음.
first = (param) => {
console.log('1')
param()
}
second = () => {
console.log('2')
}
first(second)
//first 지연 발생 없음
문법 이름 그대로 객체 혹은 배열들을 펼칠 수 있게 해 준다.
push(), splice(), concat() 보다 훨씬 더 간결함.
전개연산자 …
const names = ['나신입', '강감찬', '이성계']
const names2 = [...names, '나초보']
**console.log(names) //['나신입', '강감찬', '이성계']
console.log(names2) //['나신입', '강감찬', '이성계', '나초보']**
[myBook]
이벤트 종류
이벤트 헨들러 연결방법
이벤트 발생대상(target🎯)
서브밋이란? form 태그의 모든 요소를 서버로 보냄
책 검색 API 추가