[KDT]FCFE - 4주1일 JS MDN 읽기

Keunyeong Lee·2021년 12월 13일
0
post-thumbnail

데이터

String : 문자 데이터

String.prototype.indexOf('위치를찾을글자');

: 찾는 글자의 위치를 숫자로 알려줌. 없으며 -1 반환.

문자 데이터의 prototype으로 있는 함수는

String.indexOf('글자');

형식으로 사용할 수 있다.

let str = "hello world";

str.slice(0,3); //"hel"

: 0번째 부터 3번째 직전까지를 잘라낸다.( 잘라내며 추출 ).

str.length; // 11

: 글자의 길이를 반환.( 띄어쓰기는 공백문자로 인식하여 1글자 취급)

str.replace(world, hi); // "hello hi"

: 앞부분 인자를 뒷부분 인자로 대체한다.

let mail = lee@naver.com;

mail.match(/.+(?=@)/)[0]; // lee

: 정규표현식으로 나누어 배열에 넣어주고 배열의 0번째 추출.

Number : 숫자 데이터

let pi = 3.14159265358979;

let str = pi.toFixed(2); //str = 3.14;

: 소수점 두번째 까지 반환. (문자 데이터로 반환)

parseInt(str); // 3

: 소숫점을 버리고 정수단위로 숫자로 변환

parseFloat(str); // 3.14

: 소수점 포함하여 숫자로 변환

Math 내장 객체 활용

Math.abs(-5); // 5

: 절대값을 반환.

Math.min(2,8); // 2

: 작은값 반환.

Math.max(3,9); // 9

: 큰 값 반환.

Math.ceil(3.14); // 4

: 올림.

Math.floor(3.14); // 3

: 내림.

Math.round(3.5); // 4

: 반올림.

Math.random(); // 0.02423141532342342

: 랜덤한 숫자 생성.

Array : 배열 데이터

const fruits = ['apple', 'banana', 'cherry'];

fruits[2] // 'cherry'

: 인덱싱(indexing)

const array1 = [5, 12, 8, 130, 44];

array1.length; // 5

: 배열의 총 갯수를 반환.

array1.find(element => element>10); // 12

: array.find() 함수는 만족하는 첫번째 요소의 값을 반환한다.

concat

array1.concat(fruits); // [5, 12, 8, 130, 44, 'apple', 'banana', 'cherry']

: concat() 은 원본을 수정하지 않고 두개의 배열이 합쳐진 새로운 배열을 반환.

forEach

array1.forEach(function(element, index, array){ console.log(element) }; // 5 12 8 130 44

: 배열을 순서대로 콜백함수 인자에 넣어 실행하여 값을 반환.

map

array1.map(function(element, index){ return element +3) }; // [8, 15, 11, 133, 47]

: map() 은 배열 데이터로 반환.( 원본에 영향 없음 )

filter

array1.filter( number => number < 100 ); // [5, 12, 8, 44]

: 조건에 맞는 item만으로 배열을 만들어 반환. ( 원본에 영향 없음 )

find

fruits.find( fruit => /^b/.test(fruit) ); // 'Banana'

: 정규표현식.test() 는 표현식과 맞으면 true 를 반환하고 find는 true 를 반환한 인자를 반환한다.

includes

fruits.includes('banana'); // true

: 포함되어 있는지 확인, 결과 불린값으로 반환

push , unshift

원본 배열 수정!

fruits.push('carrot'); // ['apple', 'banana', 'cherry', 'carrot']

: 배열 가장 뒤에 삽입된다.

fruits.unshift('melon'); // ['melon', 'apple', 'banana', 'cherry', 'carrot']

: 배열 가장 앞에 삽입된다.

reverse

원본이 수정됨!

fruits.reverse();

: 배열 뒤집기

splice

fruits.splice(2,1); // ['melon', 'apple', 'cherry', 'carrot']

: index 번호 2번부터 1개 잘라내기.

fruits.splice(2,0,'monkey'); // ['melon', 'apple', 'monkey', 'cherry', 'carrot']

: index 번호 2번부터 0개 잘라내고 'monkey' 넣기

Object : 객체

객체는 속성(property)과 메소드(method)로 이루어져있다.

( method도 속성이다. 함수 속성 )

const target = { a: 1, b: 2, };
const source = { b: 4, c: 5, };

assign

Object.assign( 대상 객체, 출처 객체 );

자바스크립트의 전역객체에 사용.

const targetSource = Object.assign(target, source);// {a: 1, b: 4, c: 5}

: 출처 객체로 부터 대상 객 체로 속성을 복사.

target === targetSource; // true

: true 가 나오는 이유 => 같은 메모리 주소를 갖는다.

==> 객체는 객체를 할당한 메모리의 주소를 변수에 담는다.
target 이라는 대상 객체에 출처 객체를 복사한 것이므로 target 객체가 할당된 메모리 주소에 출처 객체를 복사하여 넣은것이고 그 메모리 주소값이 targetSource 라는 변수에 할당 되었으므로 target 객체 메모리 주소값이 둘다 같다는 의미의 true를 반환한 것이다.

keys

Object.keys(객체);

자바스크립트의 전역객체에 사용.

객체의 property 이름만 배열로 반환.

  • 활용법 ( 속성의 값 만으로 이루어진 배열 만들기 )

const keys = Object.keys(객체);
keys.map(key => 객체[key]);
// 객체의 속성 값만으로 이루어진 배열 반환.

profile
🏃🏽 동적인 개발자

0개의 댓글