[Node.js_4기] Today_I_Learn : javascript 학습 (23/12/29)

2023. 12. 29. 22:19공부/내배캠 TIL

목차

 

1. 학습 내용

2. 내용 정리

3. 예제

4. 생각 정리

 

1. 학습 내용 

 

(1) 함수

함수를 선언하여 코드를 기능 단위로 묶어 재사용성을 향상

[1] 함수 정의

1_1 함수 선언문

function add(x, y) {
    return x + y;
  }
console.log(add(2, 3));   // 5

1_2 함수 표현식

let add = function(x, y) {
    return x + y;
  }
console.log(add(2, 3));   // 5

 

 

[2] 화살표 함수

function add(x,y){
  return x+y
}

원래의 함수 선언은 위와 같다.

그러나, es6 이후 js에서는...

 

2_1 기본적인 화살표 함수 - 선언이 간편해짐

let add1 = (x, y) => {
    return x + y;
  }
console.log(add1(2, 3));   // 5

2_2 한 줄로 된 화살표 함수

let add2 = (x, y) => x + y;
console.log(add2(2, 3));   // 5

2_3 매개변수가 하나인 화살표 함수

let square = x => x * x;
console.log(square(3));   // 9

 

 

(2) 조건문

1. if

1_3 if-else if-else

let x3 = 0;
if (x3 > 0) {
  console.log("x3는 양수입니다.");
} else if (x3 < 0) {
  console.log("x3는 음수입니다.");
} else {
  console.log("x3는 0입니다.");
}

2. switch문

let fruit = "사과";

switch (fruit) {
  case "사과":
    console.log("사과는 빨간색입니다.");
    break;
  case "바나나":
    console.log("바나나는 노란색입니다.");
    break;
  case "오렌지":
    console.log("오렌지는 주황색입니다.");
    break;
  default:
    console.log("해당하는 과일이 없습니다.");
    break;
}

 

 

(3) 반복문

1. for문

1_1 기본

for (let i = 0; i < 10; i++) {
    console.log(i);
}

1_2 배열과 함께 쓰는 for

let numbers = [1, 2, 3, 4, 5];
for (let i = 0; i < numbers.length; i++) {
    console.log(numbers[i]);
}

1_3 for...in 문

let person = { name: "John", age: 30, gender: "male" };
for (let key in person) {
    console.log(key + ": " + person[key]);
}

 

 

2. 생각정리

 

파이썬과 비슷한 부분이 존재했기 때문에 편하게 학습할 수 있었습니다.

특히 조건문과 반복문이 그랬습니다.

 

3. 숙제

 

문1) 문자열 내 p와 y의 개수

function numPY(s){
  s=s.toUpperCase()
    return s.split("P").length === s.split("Y").length;
}

// 다른 사람의 코드와 비슷했다.

문2) 음 양 더하기

function solution(absolutes, signs) {
    let answer = 0;
		// 두 배열 길이 같음
    for (let i = 0; i < absolutes.length; i++) {
				// 부호에 따라 +-
        signs[i]? answer += absolutes[i] : answer -= absolutes[i]
    }
    return answer;
}

// 다른 사람의 코드
function solution(absolutes, signs) {

    return absolutes.reduce((acc, val, i) => acc + (val * (signs[i] ? 1 : -1)), 0);
}

//... 화살표 함수를 잘 쓰는 사람은 코드가 참 이쁘구나...

 

4. 숙제(였던것)

 

파이썬으로 코딩해보았다 ㅋㅋㅋㅋ

문1)

def solution(s):
    s=s.upper()
    return s.count('P') == s.count('Y')

 

문2)

def solution(absolutes, signs):
    ans = 0
    for absolute, sign in zip(absolutes,signs):
        if sign:
            ans += absolute
        else:
            ans -= absolute
    return ans