상세 컨텐츠

본문 제목

프로그래머 도전기 65일차

프로그래머가 될거야!

by Choyee 2023. 11. 9. 23:41

본문

오늘은

 

학원에서 JavaScript에 대해 배우기 시작했습니다

이미 예습으로 한번 공부했던 언어라 수업을 듣는데에

확실히 수월했던 것 같습니다

 

 

 

학원 수업

 

번역기
자바스크립트, 파이썬 - 인터프리터 : 한줄 씩 번역
자바, C언어 - 컴파일러 : 전체 통 번역

변수 선언
Java
int num = 10;
char ch = 'A'
String name = "홍길동"

JavaScript : let + 변수이름 = 변수값
var num = 10;
var ch = 'A'
var name = "홍길동"

let num = 10;
let ch = 'A'
let name = "홍길동"

연산자
대입 : =
산술 : +, -, *, /, %
비교 : >, <. ==, !=    ->  true/false
논리 : &&, ||

조건 : 조건 ? 참 : 거짓


DOM(Document Of Model)
출력 - alert()
입력 - prompt()

 

<JS>
조건문
if ~ else 문
switch ~ case 문

반복문
초기값
while(조건) {
    실행문
    증감값
}
for(초기값; 종료값; 증감값){
    실행문
}

변수
let로 선언
상수(constant variable) = 변경되지 않는 진리나 사실, 법칙
const로 선언
선언한 값은 수정(재할당) 불가

isNaN(x) - Not a Number
어떤 변수가 NaN일때의 예외 처리

고객의 수 : 20
좌석 열 : 5
좌석 줄 : 4
나머지가 없는 경우 : 줄수 = 고객 / 열
나머지가 있는 경우 : 줄수 = 고객 / 열 + 1

for(줄수) {
    for(열수) {
        좌석번호
    }
}

 

JavaScript 복습

 

<<리액트(React)>>
= 자바 스크립트의 UI 라이브러리
   = 언어가 아님
   => 다른 라이브러리들도 함께 이용해야 효율이 극대화된다
=> Facebook(현Meta)이 개발한 오픈소스
=> React의 파생 기술은 React Native를 이용 -> 다양한 곳에서 작동하는 어플리케이션 개발 가능

<HTML>
= 요소들의 배치와 내용을 기술하는 언어
   색이나 크기 등의 디자인 수행은 보통 하지 않음

<CSS>
= 색, 크기, 애니메이션 등을 정의하는 스타일링을 위한 언어

<JavaScript>
= 웹 사이트에 활력을 부여하는 언어
   실질적인 작동을 담당
=> 웹 브라우저의 자바스크립트 엔진을 통해 실행된다
     Chrome : V8 = 자바스크립트의 Runtime(실행환경)

* 변수 = 어떤 값에 이름을 붙여 부르고 싶을 때 사용
           프로그램 사용 중 변수의 값은 바뀔 수 있다
           => 선언과 동시에 초기화 가능
         = let 으로 선언
         => 규칙 - 변수명 -> 기호 사용 불가
                                   => 예외 = '_' 언더스코어, '$' 달러 -> 사용 가능
                               -> 숫자가 아닌 문자로 시작해야 한다
                                   => 중간이나 끝에 오는 것은 문제 없다
                               -> 예약어 사용 불가
                                   => 예약어 = JS가 쓰는 keyword
         => var = 새로운 변수를 중복해서 선언 가능
              let = 새로운 변수를 선언할 때 기존에 있던 변수를 중복해서 선언 불가

* 상수 = const 로 선언
            프로그램 사용 중 상수의 값은 바뀔 수 없다
             => 선언과 동시에 초기화 불가능

* 자료형 = 값을 유형에 따라 분류해놓은 것
  - Primitive Data Type 원시타입 = Number(숫자, Infinity, NaN), 
                                            String("문자", '문자', `$(변수)`, 
                                            Boolean(true, false), 
                                            Undefined(변수를 선언하고 값을 할당하지 않은 경우), 
                                            Null(의도적으로 값이 없음을 지정)
                                한번에 하나의 값만 가질 수 있음
                        하나의 고정된 저장 공간 이용
  - Non-Primitive Data Type 비원시타입 = Object, Array, Function
                                                     한번에 여러 개의 값을 가질 수 있음
             여러 개의 고저오디지 않은 동적 공간 사용 

* 형변환 
parsInt() = 문자열을 입력받아 숫자로 형 변환을 해준다

* 자료형 비교 연산 = ' === / !== ' => 값과 타입 모두 비교

* typeof 연산자 => typeof 변수이름 = 변수의 자료형이 무엇인지 알려준다

* Null병합 연산자 = ??
  null이나 undefined 값이 아닌 값을 선택한다
  변수 = null ?? 값 => 값을 선택

 

 

 

Coding Test Practice
Description
문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다.

제한 사항
s는 길이 1 이상, 길이 8 이하인 문자열입니다.
s는 영문 알파벳 대소문자 또는 0부터 9까지 숫자로 이루어져 있습니다.
// 1차 답
function solution(s) {
    if((/^[0-9]+$/.test(s)){
        return true;
    }else {
        return false;
    }
}


// 2차 답
function solution(s) {
    if((s.length === 4 || s.length === 6) && /^[0-9]+$/.test(s)){
        return true;
    }else {
        return false;
    }
}

 

test() = 정규표현식을 검사하는 메소드


^: 문자열의 시작을 나타냄
[0-9]: 0부터 9까지의 숫자 중 하나와 일치
+: 바로 앞의 패턴이 하나 이상 나타남을 나타냄
$: 문자열의 끝을 나타냄


/^[0-9]+$/
= 문자열이 0부터 9까지의 숫자로만 구성돼 있으면 일치하는 것, 
   다른 문자가 하나라도 있으면 일치하지 않는 것

 

 

 

 

 

2023. 11. 09 (목)

관련글 더보기