본문 바로가기

언어공부-프론드엔드/javascript

제로베이스 공부

함수의 표현

함수 저장

mathod

객체에 저장된 값이 함수인 경우 이를 메서드라고 한다.

함수도 주소값을 변경할 수 있다.

 

this 

메서드에서 객체 내부의 속성값을 접근할 수 있는 지시자

객체에 직접적으로 접근할 수 있다.

데이터별로 다르게 핸들링 할수 있다.

 

Number

ieee-754표준 기반 형태로 저장되는 자료형

10진수 외에도 16진수,2징수,8진수의 다양한 진수 사용.

16진수 : 0xFF

8진수 : 0o71

2진수 : 0b1101

대표 상수값

 

지수 표기법

아주 큰 숫자나 아주 작은 숫자를 표기하기 위해 지수 표기법(e)으로 0의 개수를 대체 표기할 수 있다.

진법 표기

진법 표기를 지원하기 위해 16,8,2진수를 N진수로 표기 가능

 

Number 상수값

지수로 표기되는 양수 최대/최소값 : Number.Max_VALUE,Number.MIN_VALUE

안전하게 표기되는 최대/최소값 : Number.MAX_SAFE_INTEGER,Numver.MIN_SAFE_INTEGER

무한대 양수/음수값:Number.positive_INFINITY,Number.NEGATIVE_INFINITY

부동 소수점 산술에서 정의되지 않거나 표현할 수 없는 값으로 해석될 수 있는 숫자 데이터 유형 : Number.NaN

대표 메서드

형 변환

Number to String : Number.toString(),String(Number),Number+""를 통해 변환가능

 

자리수표현

소수의 자리 수 길이를 제한 : Number.toFixed(pos)

정수와 소수의 자리 수를 합한 길이로 제한 : Number.to.Precision(pos)

Number 자료형 확인

부동 소수점 산술에서 정의되지 않거나 표현할 수 없는 값(NaN)인지 확인: Number.isNan()

정상적인 유한수인지 확인 : Number.isFinite()

정수와 실수 형 변환

정수로 변환하는 방법 : Number.parseInt()

실수로 변환하는 방법 : Number.parseFloat()

 

String

텍스트 길이에 상관없이 문자열 형태로 저장되는 자료형

글자 하나만 저장할 수 있는 char 자료형이 없음

페이지 인토딩 방식과 상관없이 항상 utf-16형식을 따름

 

문자 정의 표기

정의 방법 

String 정의 방법 : ""(큰따옴표),''(작은 따옴표),String()

문자열과 변수 혼합 표현 방법 : `Hello`(역따옴표)

문자표기 

/슬래시만 쳤을 경우 제대로 나오지 않는다.

문자열 길이

문자열 길이 확인 방법 : String.length

문자 접근

문자열 내 개별 문자 접근 방법

문자열 검색

index : String.indexOf(substr,pos),String.lastIndexOf(substr,pos)

bool : String.includes(substr,pos),String.startsWith(substr,pos),String.endsWith(substr,pos)

중복 문자가 있는데 정해진 문자열 순서로 찾고 싶을 경우 뒤에 순서를 적는다.

includes로 해당 적힌 문자열을 찾을 수 있다.(대소문자 구별O)

startWith로 처음에 해당된는 단어가 있는지 찾는다. 순서를 적으면 시작되는 지점을 변경 가능.

!!!도 문자열로 구분한다.

문자열 대소문자 변환

 

문자열 치환

처음 만나는 요소 문자열 치환 : String.replace

정규 표현식 활용 문자열 치홤 : 치환 문자열에 정규 표현식 기입 

원본 텍스트는 그대로고 변경된 텍스트로만 나타난다.

중복이 될 경우 앞 순서의 하나만 변경된다.

전체적으로 변경할 경우 /변경문자열/g로 입력한다.

대문자도 변경하고 싶은 경우 /변경문자열/gi 로 표기.

문자열 추출

위치 기반 문자열 추출 : String.slice(start,end),String.substring(start,end)

하나만 입력할 경우 시작점 뒤부터 쭉 출력된다.

시작 위치가 클 경우에는 false로 판단해 오류발생

-1부터는 맨뒤순서다.

substring : slice와 달리 시작순서가 커도 작은 숫자를 시작으로 인식함. 

길이기반 문자열 추출 : String.substr(start,length)

 

문자열 분할 

배열로 문자열 분할 : String.split

나눌때 , 로 나누고 (" ")구분없이 적을 경우 ,를 인식하지 않고 하나의 데이터로 인식해버린다.

문자에 구분없이 할경우 문자열 하나하나로 쪼갠다.("hello")

 

Array배열

여러 개체값을 순차적으로 나열한 자료구조

배열 내 값을 요소라고하며, 배열 요소는 index로 접근.

다양한 자료형들을 같은 변수내 저장한다.자료를 정리하는데 있어서 최적화되어있음.

배열 추가/삭제 : 끝부분에 추가된다.push새로운 데이터를 뒤에 추가/pop뒤 데이터를 삭제하고 데이터를 pop의 인턴밸류로 보낸다./unshift는 데이터를 앞쪽에서 추가한다.shift는 앞쪽의 데이터를 보낸다.

대표 속성과 매서드

 

 

배열 기본 메서드

선언/접근/속성

선언 : new Array() 혹은 []를 통해 선언하며, 사이즈 혹은 값을 입력하여 초기화도 가능

접근 방법 : Array[index]를 통해 index를 통해 O(1)접근

배열 속성 : Array.length를 통해 배열 요소의 개수 확인 가능

arr_1 : 10개의 공간이 남았다.

 

배열의 실체

자바스크립트에서 배열은 다른 언어에서 말하는 일반적이 배열이 아닌 Hash기반의 객체

메모리가 연속적인 밀집 배열가 아닌 비 연속적인 희소 배열

0 : value 'one' / 1 : value 'two' = path기반

0,1(index)대신 문자열로도 작성 가능.(length는 2로 나오지만 값은 추가된 데이터로 작성된다.)

 

배열 타입 확인 및 요소 삭제

배열 타입 확인 : Array.isArray(value)

배열 요소 삭제 : delete array[index]

삭제 됐음에도 length에 배열순서가 그대로.일반적으로는 자주 사용하지 않음.

 

배열 조작

배열 추가(LIFO back : last in first out) : Array.push(element),배열 삭제:Array.pop()

삭제된 데이터가 반환되어 ret에 저장된다.

배열 추가 (LIFO front : last in first out)

: Array.unshift(element), 배열 삭제 : Array.shift()

 

배열 삭제/변경 : Array.splice(index[,deleteCount,elem1,...,elemN])

잘린 부분 그대로 남은 부분은 friuts에 반환된다.

중간범위만 날리고 싶을 때는 ((삭제할순서),(몇개 삭제할건지))

배열 요소 삭제 : Array.slice([start],[end])

잘라도 실제로 데이터에 영향을 미치지 않는다.

(1,2) > (,orange,)가 범위

-1부터 순서는 배열순서와 같다.

 

배열 병합

다중 배열 병합 : Array.concat(arg1,arg2...)

기본 배열에서 새로운 배열을 추가하고 싶을때.

배열 반복문

다양한 반복문 문법을 통해 배열 요소에 접근 가능

반복문 문법 : for ...length(index접근),for ... of (element접근), for ... in(key 접근)

index가 아닌 새로운 let변수를 생성하도 같은 결과가 나온다.

key의 경우 하나하나의 index가 발생 (0 , 1 , 2)

배열 탐색 

index 탐색(앞) : Array.indexOf(item,from)

index탐색(뒤) : Array.lastIndexOf(item,from)

값포함 여부 확인 : Array.includes(item,from)

배열내에 없을 경우 -1로 결과값 출력

lastIndexOf (orange,-3)의 경우 -3위치에서 뒤로가 순서를 찾아라 라는 뜻.(0의 뒤에는 아무것도 없으므로 -1이 뜬다)

 

배열 변형

배열 정렬/반전

정렬 : Array.sort(), 반전 : Array.reverse()

 

배열 변환

배열 값을 문자열로 변환 : Array.join(separator;;)

()일경우 ,기준으로 순서가 유지된다.

;로 할경우 

고차 함수

하나 이상의 함수를 매개변수로 취하거나 함수를 결과로 반환하는 함수

매개변수로 전달되는 함수는 콜백 함수