오늘은 자바스크립트 기초를 다시 한번 공부해보는 두번째 시간을 가져 보겠습니다.
그럼 시작하겠습니다.
출처:
유튜브: 코딩앙마
funtion hello(name) {
console.log(`Hello, ${name}`);
}
hello('jin');
함수를 사용하면 재사용성과 유지보수가 좋다는 장점이 있다.
let msg = 'welcome'; //전역 변수
console.log(msg); // 'welcome'
funtion sayHello(name) {
let msg = 'hello'; //지역 변수
console.log(`msg ${name}`);
}
sayHello('jin'); //'hello jin'
console.log(msg); //'welcome'
매개변수로 받은 값은 복사된 후 함수의 지역변수가 된다.
전체적 서비스에서 공통으로 바라봐야 되는 변수를 제외 하고는 지역 변수를 쓰는 습관이 좋다.
전역 변수가 많아 지면 관리가 힘들기 때문이다
let name = 'welcome';
function sayHello(name) {
console.log(name);
}
sayHello(); // undefined
sayHello('jin'); // 'jin'
전역변수로 name을 지어도 sayHello 함수 안의 name의 변수로는 쓸 수 없다.
funtion sayHello(name) {
let newName = name || 'friend';
let msg = `welcome, ${newName}`;
console.log(msg);
}
sayHello(); // 'welcome, friend'
sayHello('jin'); // 'welcome, jin'
funtion sayHello(name = 'friend') {
let msg = `welcome, ${name}`;
console.log(msg);
}
sayHello(); // 'welcome, friend'
sayHello('jin'); // 'welcome, jin'
funtion sayHello(name = 'friend') {
alert('hi');
return;
alert('실행 안됨'); // 윗 줄에서 리턴해서 sayHello() 함수가 종료 되었기 때문에 실행 안된다.
}
const result = sayHello();
console.log(result);
sayHello(); //위에서 호출해도 동작한다.
funtion sayHello() {
console.log('hello');
}
//sayHello();
let sayHello = function() {
console.log('hello');
}
sayHello();
함수 선언문은 어디서든 호출 가능(호이스팅)하지만 함수 표현식은 불가능하다.
let add = function(nem1, num2) {
retrun num1 + num2;
}
//1. {}과 return을 사용
let add = (num1, num2) => {
retrun num1 + num2;
}
//2. 코드 구문이 한줄이고 리턴문이 있기 때문에 ()로 쓸수 있다
let add = (num1, num2) => (
num1 + num2;
)
//3. 코드 구문이 한줄이면 ()도 생략 가능
let add = (num1, num2) => num1 + num2;
//4. num1, num2 같은 인수가 하나라면 () 생략 가능하다.
let add = num => num1 + num2;
위의 3가지 코드는 다 똑같은 코드이다.
여러줄의 코드가 있을때는 {}을 써야하지만, 한가지만 있는 경우는 ()쓰거나, ()도 생략가능하다.