1주차

yy N·2022년 10월 1일
0

자바스크립트 기본 문법

  • 변수
    • 변수 대입( a = 2 )의 의미: "오른쪽에 있는 것을 왼쪽에 넣는 것!"
      (2를 a라는 변수에 넣는다)

    • let으로 변수를 선언합니다.

      let num = 20
      num = 'Bob'
      
      // 변수는 값을 저장하는 박스예요.
      // 한 번 선언했으면, 다시 선언하지 않고 값을 넣습니다.
    • 사칙연산 그리고 문자열 더하기가 기본적으로 가능합니다.

      let a = 1
      let b = 2
      
      a+b // 3
      a/b // 0.5
      
      let first = 'Bob'
      let last = 'Lee'
      
      first+last // 'BobLee'
      
      first+' '+last // 'Bob Lee'
      
      first+a // Bob1 -> 문자+숫자를 하면, 숫자를 문자로 바꾼 뒤 수행합니다.
    • 변수명은 아무렇게나?

      let first_name = 'bob' // snake case라고 합니다.
      
      또는,
      
      let firstName = 'bob' // camel case라고 합니다. 회사마다 규칙이 있죠.
      
      과 같이, 쉽게 알아볼 수 있게 쓰는 게 중요합니다.
      다른 특수문자 또는 띄워쓰기는 불가능합니다!
    • const로 변수 선언

      let value_box = '값'
      value_box = '변경한 값';
      
      console.log(value_box) // 콘솔엔 '변경한 값'이 찍힙니다.
      
      const value_fix = '값';
      value_fix = '변경한 값';
      
      console.log(value_fix) // const로 선언한 변수엔 새로운 값을 재 할당(다시 입력!) 할 수 없습니다.
  • 4) 리스트(배열) & 딕셔너리(객체) 💡 리스트를 배열(Array)이라고도 부릅니다 - 리스트: 순서를 지켜서 가지고 있는 형태입니다. ```jsx let a_list = [] // 리스트를 선언. 변수 이름은 역시 아무렇게나 가능! // 또는, let b_list = [1,2,'hey',3] // 로 선언 가능 b_list[1] // 2 를 출력 b_list[2] // 'hey'를 출력 // 리스트에 요소 넣기 b_list.push('헤이') b_list // [1, 2, "hey", 3, "헤이"] 를 출력 // 리스트의 길이 구하기 b_list.length // 5를 출력 ``` - 딕셔너리: 키(key)-밸류(value) 값의 묶음 👉 딕셔너리는 객체로도 불립니다 ```jsx let a_dict = {} // 딕셔너리 선언. 변수 이름은 역시 아무렇게나 가능! // 또는, let b_dict = {'name':'Bob','age':21} // 로 선언 가능 b_dict['name'] // 'Bob'을 출력 b_dict['age'] // 21을 출력 b_dict['height'] = 180 // 딕셔너리에 키:밸류 넣기 b_dict // {name: "Bob", age: 21, height: 180}을 출력 ``` - 리스트와 딕셔너리의 조합 ```jsx names = [{'name':'bob','age':20},{'name':'carry','age':38}] // names[0]['name']의 값은? 'bob' // names[1]['name']의 값은? 'carry' new_name = {'name':'john','age':7} names.push(new_name) // names의 값은? [{'name':'bob','age':20},{'name':'carry','age':38},{'name':'john','age':7}] // names[2]['name']의 값은? 'john' ``` - 딕셔너리의 자주쓰는 또 다른 표현 ```jsx let b_dict = {'name':'Bob','age':21} //bob 이름을 꺼낼땐 두 가지 방식으로 깞을 꺼낼 수 있습니다. b_dict['name'] b_dict.name 둘다 똑같이 딕셔너리의 키값에 접근하여 값을 꺼내옵니다. ``` - 왜 필요할까요? 💡 **순서를 표시할 수 있고, 정보를 묶을 수 있습니다.** 앞에서 언급한 <스파르타과일가게>가 정말 잘 되어서 전국에서 손님이 찾아오고 있습니다. 대기표를 작성하기 위해서 온 순서대로 이름, 휴대폰 번호를 적도록 하였는데요. 변수만을 사용한 모습은 다음과 같습니다. let customer_1_name = '김스파'; let customer_1_phone = '010-1234-1234'; let customer_2_name = '박르탄'; let customer_2_phone = '010-4321-4321'; ...(알아보기 힘듭니다.) 👉딕셔너리를 활용한다면 다음과 같이 고객 별로 정보를 묶을 수 있습니다. let customer_1 = {'name': '김스파', 'phone': '010-1234-1234'}; let customer_2 = {'name': '박르탄', 'phone': '010-4321-4321'}; 👉그리고 순서를 나타내기 위해 리스트를 사용하면, 이렇게나 깔끔해집니다. let customer = [ {'name': '김스파', 'phone': '010-1234-1234'}, {'name': '박르탄', 'phone': '010-4321-4321'} ] ✅보기에도 깔끔해지고, 다루기도 쉬워지고, 고객이 새로 한 명 더 오더라도 .push 함수를 이용해 간단하게 대응할 수 있습니다.

자바스크립트 기본 제공 함수

  • 5) 자바스크립트 기본 제공 함수

    • 사칙연산 외에도, 기본적으로 제공하는 여러 함수들이 존재합니다. 👉 왠지 이건 있을 것 같은데? (예 - 특정 문자를 바꾸고 싶다 등) 싶으면 직접 만들지 말고 **구글에 먼저 찾아보세요!** ```jsx **예를 들면, 나눗셈의 나머지를 구하고 싶은 경우** let a = 20 let b = 7 a % b = 6 ``` ```jsx **또, 모든 알파벳을 대문자로 바꾸고 싶은 경우** let myname = 'spartacodingclub' myname.toUpperCase() // SPARTACODINGCLUB ``` ```jsx **또, 특정 문자로 문자열을 나누고 싶은 경우 1** let myemail = 'sparta@gmail.com' let result = myemail.split('@') // ['sparta','gmail.com'] result[0] // sparta result[1] // gmail.com let result2 = result[1].split('.') // ['gmail','com'] result2[0] // gmail -> 우리가 알고 싶었던 것! result2[1] // com myemail.split('@')[1].split('.')[0] // gmail -> 간단하게 쓸 수도 있다! ``` ```jsx **특정 문자로 나누고 싶은 경우 2** let txt = '서울시-마포구-망원동' ****let names = txt.split('-'); // ['서울시','마포구','망원동' ``` ```jsx **특정 문자로 합치고 싶은 경우** let result = names.join('>'); // '서울시>마포구>망원동' (즉, 문자열 바꾸기!) ```

    함수

  • 기본 생김새

    // 만들기
    function 함수이름(필요한 변수들) {
    	내릴 명령들을 순차적으로 작성
    }
    // 사용하기
    함수이름(필요한 변수들);
  • 예시

    // 두 숫자를 입력받으면 더한 결과를 돌려주는 함수
    function sum(num1, num2) {
    	console.log('num1: ', num1, ', num2: ', num2);
    	
    	//return 으로 값을 돌려주는, 뱉는 구조로 변수에 값을 전달 할 수도 있습니다.
    	return num1 + num2;
    }
    
    sum(3, 5); // 8
    sum(4, -1); // 3
    let result = sum(10,10)
    console.log(result) // 20
  • 또다른 함수 선언 방식

    let a = function(){
    	console.log("리터럴 방식 이라고 합니다");
    }
    
    a()

0개의 댓글