자바스크립트에서의 여러 함수 선언방법
// function
// function은 object 타입이다.
printHello();
//Hello
//printHi();
//Uncaught ReferenceError: Cannot access 'printHi' before initialization
//기본
function printHello() {
console.log('Hello');
}
printHello();
//배열 파라미터
//Rest parameters(added in ES6)
function printAll(...args) {
for (let i = 0; i < args.length; i++)
console.log(args[i]);
for (const arg of args)
console.log(arg);
args.forEach((arg) => console.log(arg));
// 위 세개는 같은 출력이다.
}
printAll('I', 'Like', 'Minsoo');
//function expression와 function declartion 차이
//expression
//함수 이름을 작성하지 않는다.
const printHi = function () {
console.log('hi');
};
printHi();
const printAgain = printHi;
printAgain();
//declaration
// ex) printHello
//declaration은 함수 어디든가 선언만 되있으면 선언전 줄이어도 오류가 없다.
function printHello() {
console.log('Hello');
}
//3번째줄부터 6번째 줄을 보면 차이를 확인할 수 있다.
//Callback function using function expression
function isMinsoo(answer, printYes, printNo) {
if (answer === 'minsoo')
printYes();
else
printNo();
//print(); 같은뜻
}
const printYes = function () {
console.log('yes!');
};
const printNo = function print() {
console.log('no!');
//print() 재귀함수
};
//printYes와 printNo가 다른 점 : 함수이름이 선언돼있나
// 함수이름을 써놓으면 재귀함수도 가능하다.
isMinsoo('minsoo', printYes, printNo);
isMinsoo('chan', printYes, printNo);
//Arrow function
//always anonymous
const simpleF = function () {
console.log('Arrow F');
};
// 위는 아래와 같다.
const arrowF = () => console.log('Arrow F');
const simpleF2 = function (a, b) {
return a + b;
}
//위는 아래와 같다.
const arrowF2 = (a, b) => a + b;
const MultiF = (a, b) => {
//do something more
return a * b;
}
Javascript
👉 pinia기본
2023.05.05
👉 github pages에서 vue router 404 에러
2023.04.03
👉 object의 변수인 경우 ref와 reactive 어느 것을 사용할까
2023.04.02
👉 Route
2023.04.01
👉 Template ref
2023.03.26
👉 provide와 inject
2023.03.25
👉 slots
2023.03.24
👉 nonProps
2023.03.23
👉 v-model을 통한 3depth 양방향 바인딩
2023.03.22
👉 emit, component와 v-model을 통한 양방향 바인딩
2023.03.21
👉 props
2023.03.20
👉 watch
2023.03.19
👉 양방향 바인딩
2023.03.18
👉 event Parameter
2023.03.17
👉 Scope와 Closure
2023.03.17
👉 classStyleBinding
2023.03.16
👉 computed
2023.03.15
👉 Ref와 Reactive
2023.03.14
👉 notion page를 웹사이트에 삽입하기
2022.01.25
👉 Json
2021.04.16
👉 Javascript 배열
2021.04.15
👉 Javascript 객체
2021.04.14
👉 Javascript 클래스
2021.04.13
👉 Javascript 함수
2021.04.12
👉 Javascript 변수심화
2021.04.11
👉 Javascript 변수
2021.04.10
Frontend
👉 pinia기본
2023.05.05
👉 github pages에서 vue router 404 에러
2023.04.03
👉 object의 변수인 경우 ref와 reactive 어느 것을 사용할까
2023.04.02
👉 Route
2023.04.01
👉 Template ref
2023.03.26
👉 provide와 inject
2023.03.25
👉 slots
2023.03.24
👉 nonProps
2023.03.23
👉 v-model을 통한 3depth 양방향 바인딩
2023.03.22
👉 emit, component와 v-model을 통한 양방향 바인딩
2023.03.21
👉 props
2023.03.20
👉 watch
2023.03.19
👉 양방향 바인딩
2023.03.18
👉 event Parameter
2023.03.17
👉 Scope와 Closure
2023.03.17
👉 classStyleBinding
2023.03.16
👉 computed
2023.03.15
👉 Ref와 Reactive
2023.03.14
👉 notion page를 웹사이트에 삽입하기
2022.01.25
👉 간단한 반응형 메뉴갖는 웹 만들기
2021.08.04
👉 Json
2021.04.16
👉 Javascript 배열
2021.04.15
👉 Javascript 객체
2021.04.14
👉 Javascript 클래스
2021.04.13
👉 Javascript 함수
2021.04.12
👉 Javascript 변수심화
2021.04.11
👉 Javascript 변수
2021.04.10
👉 CSS Centering
2021.04.09
👉 CSS flexbox
2021.04.08
👉 CSS 변수
2021.04.07
👉 CSS Size
2021.04.06
👉 CSS layout
2021.04.05
👉 CSS 기본
2021.04.04
👉 HTML5 Data 속성
2021.04.03
👉 HTML의 다양한 태그
2021.04.02
👉 Visual studio code의 유용한 툴
2021.04.01
👉 HTML 기초
2021.04.01
댓글 쓰기