20.04.01 노마드코더 - 바닐라JS #2-1-1

.·2020년 4월 1일
0

Nomad Coder

목록 보기
7/19

More Function Fun

  • #2-1 의 마지막 진행한 것을 보면 콤마가 너무 많아 지저분해 보인다. 문자열을 좀 더 깔끔하게 만드는 방법을 찾아보자.

따옴표와 싱글 따옴표의 사용

  • " " (따옴표), ' ' (싱글따옴표)
    : 주의사항 - 따옴표를 쓰면 끝에도 따옴표를 쓴다. 따옴표와 싱글 따옴표를 섞어서 쓰지 말라는거.
  • 이러면 아까처럼 콤마가 너무 많아 문자열 많이 썼을 때 지저분 해 보인다.

백틱 (grave accent) 의 사용

  • `` 백틱을 사용 : 새로운 스트링 방식. (키보드 백틱 누르는 거 어제 처음 알았다)
function sayHello (name, age) {
	console.log(`Hello ${name} you are ${age} years old`);
    }
    sayHello('Nicolas', 25);

console.log 와 return something 과의 차이

  • 일단은 매우 빅 차이라고 함
    : return 의 의미는 내가 돈을 내면 반드시 잔돈을 받아야 한다는 개념이라 한다.
function sayHello (name, age) {
	return(`Hello ${name} you are ${age} years old`);
    }
    sayHello('Nicolas', 25);
  • 예시
function sayHello (name, age) {
	console.log(`Hello ${name} you are ${age} years old`);
    }
    //(1번)// const greetNicolas = sayHello('Nicolas', 25);
    //(2번)// console.log(greetNicolas);

자 이렇게 해놓고 run!
1번은 찍혀서 나온다. Hello Nicolas you are 25 years old
2번은 undefined 라 나온다. 왜?
greetNicolas 는 sayHello 의 실행된 결과 값이다.
그런데 함수 내 console.log 에서 아무것도 반환하지 않았다. 아무것도 쓰지 않았다.

만약 greetNicolas 가 정의 안된 상태 (undefined) 가 되지 않길 원한다면, 뭔가를 반환 하도록 해야 한다.

Return 사용의 올바른 예시

  • 뭔가를 반환하게 한다.
function sayHello (name, age) {
	return(`Hello ${name} you are ${age} years old`);
    }
    const greetNicolas = sayHello('Nicolas', 25);
  • 함수 내 return 사용, 여튼 이렇게 반환하게 만들면 아래 정의 greetNicolas는 '정의가 안된 상태, undefined' 가 되지 않겠지?

  • 뭔가를 반환하게 하지만 그걸 console.log 로 찍어 주지는 않음.
    : 위의 sayHello 함수는 어떤 값을 반환하지만 console.log 없이는 암것도 안뜬다.

function sayHello (name, age) {
	return(`Hello ${name} you are ${age} years old`);
    }
    const greetNicolas = sayHello('Nicolas', 25);
    console.log(greetNicolas);

Hello Nicolas you are 25 years old

콘솔 로그는 객체(object), 사칙연산 계산 함수 만들기.

  • 콘솔 로그는 객체이다. 객체는 딕셔너리와 동의어인가? {}?? 함수는 객체인가?

  • console.log('뭐시기') 처럼 calculator.plus(5, 5) 이런 것도 만들고 싶어.
    : 그 말은 함수 기능을 객체 안에 구현해야 한다는 것이다. ( 아 뭐 말이 왜 이렇게 어려워? 그냥 함수를 만들면 된다 이렇게 말하면 되는거 아냐? ㅠ)

  • 아래의 plus 함수는 2개의 인자 값을 받는다.

const calculator = {
	plus: function(a, b) {
    	return a + b;
        }
   }
const plus = calculator.plus(5, 5)  //2개의 인자를 가진 함수
console.log(plus); // plus 라는 인자를 가진 얘도 함수

10

  • 코드를 보면, calculator 가 선언되었고 괄호 안에 함수가 들어가 있다.

  • 다른 사칙연산의 예시

// const calculator ={
//   multiple: function(a, b){
//     return a * b;
//   }
// }

// const multiple = calculator.multiple(5, 5);
// console.log(multiple);

// const calculator = {
//   subtract: function(a, b){
//     return a - b;
//   }
// }


// const subtract = calculator.subtract(10, 5);
// console.log(subtract);

// const calculator = {
//   square: function(a, b){
//     return a ** b;
//   }
// }

// const square = calculator.square(2, 5);
// console.log(square);

시킨대로 하긴 했는데..

function calculator (a, b) {
  return a * b;
}
  const multiple = calculator (5, 5);
  console.log(multiple);

이게 더 편한 방법 아닌가? 너무 어렵게 만드넴?

profile
.

0개의 댓글