혼자 공부하는 자바스크립트 책 반납기간이 하루남아서 하루동안 내가 알고 있는 지식 외에 모든 자료를 정리해 보려고한다.

 

키워드

자바스크립트 초기에 만들어 놓은 키워드 ex) case, break, true, typeof, etc...

식별자

코드를 작성할 때 변수명이나 함수명에 사용되는 단어 (함수명에 사용된다는 것은 해당 함수를 적으면 해당함수에 해당 하는 코드를 가져온다는 의미이기도함)

규칙

(1) 키워드 사용 x

(2) 숫자로 시작 x

(3) 특수 문자는 _, & 만 허용

(4) 공백 포함 x

구분 단독 사용 다른 식별자와 사용
식별자 뒤 괄호 X 변수 속성
식별자 뒤 괄호 O 함수 메소드

const  상수 저장 키워드

let       변수 저장 키워드

 

증감 연산자

변수 ++ 함수 실행 후 1을 더한다

++ 변수 함수 실행 전 1을 더한다

 

문자열 입력 함수

prompt(입력창 내용, 입력 기본값)

 

boolean 입력 함수

confirm('수락하시겠습니까?')  ← 확인 취소 창이 뜸

 

문자열 < > 숫자 자료형 변환방법

number()

String()

 

불 자료형의 경우 변환시 boolean 혹은 !! 붙이면 변환

0, NaN, ... , 빈 문자열, null, undefiend 이 5가진느 false 로 변환 나머지는 다 True

 

조건문

if else 문

switch 문

 

조건부 연산자

불 표현식 ? 참일때 결과 : 거짓일때 결과

const result = (number >=0) ? '0 이상 숫자'  : '0 이하 숫자'

 

짧은 조건문

false || console.log('hi')

false일 경우에만 hi가 출력됨 

&& 을 사용할 시

true일 경우에만 hi 출력

 

 컴퓨터는 비교보다는 숫자를 사용하는 형태로 프로그램으로 짜는게 더 좋다.

 

배열

length 배열 안에 요소 갯수를 알려준다.

push 요소를 추가해준다.

배열이 10개까지만 있어도 fruit[20] 하면 20 번째에 값이 들어가고 값이 없는 곳은 empty로 출력

splice 요소 제거

배열.splice(인덱스, 제거할 요소 갯수)

indexOf 를 통해 몇번째에 검색할 값이 있는지 확인 후 인덱스를 보내고 그것을 splice에 집어넣어 잘나내기를 한다.

배열. splice(인덱스, 0 , 요소) 이를 사용하면 요소를 지정한 인덱스 위치에 추가한다.

 

현재에는 비파과 처리를 주로 사용함 그전에는 메모리 문제 때문에 파괴 처리를 하였지만, 현재 메모리는 여유로운 상태

for ( i in 배열) ← 배열의 요소 갯수만큼 반복 i 숫자

for( i of 배열) ← i의 입력이 배열값이 들어간다.

for(let i = 0; i < 반복횟수 i++)

continue 를 쓰면 다음 반복문으로 넘어간다. continue 아래 문구 패스

 

 매개변수

나머지 매개변수

만약 내가 만든 함수의 입력값에 배열을 직접 넣어야하는 상황이 생긴다면 매번 대괄호를 넣기 힘들기 때문에

...매개변수 즉 점 3개를 앞에 써주면 1, 2, 3 을 넣어줘도 [1,2,3] 이라는 배열로 인식하게 된다.

 

콜백 함수 ← 다른 함수를 매개변수로 가져올 수 있다.

 

익명 함수  ← 안전을 위해 익명 함수 사용하는 것이 더 안전

익명 함수를 사용 하면 우리가 글을 읽는 순에 맨 마지막 함수가 호출 함수로 지정

선언적 함수

선언적 함수도 쓰여서 콜할 수 있지만 호출되는 함수가 다를 수 있기 때문에 유의

 

객체는 배열과 비슷한 형태

typeof([]) 하면 object를 반환

배열은 인덱스와 요소가 있다면 객체는 키와 속성이 존재한다.

아래와 같은 객체가 존재한다면 과일,유형, 원산지는 Key이고 사과,열대과일 등은 속성이 되는 것이다.

다른 글에도 객체에 대해 설명했는데 학교라는 큰 틀에 교실이 있고 그 안에 교실의 key인 학생 인원이 있고 속성은 실제 학생수를 지칭하는 것을 예로 들 수 있겠다. 

const product = {
	과일: '사과, 바나나, 멜론',
        유형: '열대과일',
        원산지: '필리핀, 베트남'
        }

procut['과일']  시 사과,바나나,멜론 출력 이와 같은 출력 문구로는 product.과일 도 동일 출력

공백등이 존재할 때는 쿼터(") 를 사용하여 문자열로 지칭해줘야한다.

메소드(method) 는 속성이 일반값이 아니라 값을 입력받아야하는 경우 이러한 함수 자료형을 메소드라 부름

this 를 사용하면 자신의 속성에 접근 가능하다.

 

동적으로 객체 속성  추가 및 제거

const student = {}

student.이름 = '하윤성'

delete student.이름

하면 student에는 이름 : '하윤성' 이 들어갔다가 삭제되어 {}로 나오게 된다.

 

기본 자료형은 객체를 제외한 형태로써 숫자, 문자열, 불이 기본 자료형이다.

그래서 속성을 지정해줘도 undefiend가 나오게 된다. 그렇다면 어떻게 해야할까 그 해답은 객체를 선언하는 것이다.

const 객체 = new 객체 자료형 이름()

기본 자료형의 경우 메소드들이 나오는데 이 경우 일시적으로 객체로 상승시켜주는 것으로 호출 후에는 기본 자료형으로 돌아온다.

 

JSON(Javascript Object Notation) 자바스크르빝의 객체처럼 자료를 표현하는 방식

얕은 복사 : 특정 배열을 복사한 후 push를 하면 두 배열 모두 push한 값을 갖는다. 

깊은 복사 : 특정 배열을 복사 할 때 ...배열로 복사를 하면 push한 값은 한 쪽 배열에만 들어간다. - 두 객체를 완전하게 독립적으로 사용

 

객체 지향 패러다임 : 객체를 우선적으로 생각하여 프로그램을 만든다는 방법론

추상화 : 프로그램에서 필요한 요소만을 사용해서 개체를 표현하는 것을 의미

클래스 : 객체를 안전하고 효율적으로 만들 수 있게 해주는 문법

인스턴스 : 클래스를 기반으로 생성한 객체

생성자 : 클래스를 기반으로 인스턴스를 생성할 때 처음 호출되는 메소드이다.

 

 

 

 

+ Recent posts