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번째 추출.
let pi = 3.14159265358979;
let str = pi.toFixed(2); //str = 3.14;
: 소수점 두번째 까지 반환. (문자 데이터로 반환)
parseInt(str); // 3
: 소숫점을 버리고 정수단위로 숫자로 변환
parseFloat(str); // 3.14
: 소수점 포함하여 숫자로 변환
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
: 랜덤한 숫자 생성.
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() 함수는 만족하는 첫번째 요소의 값을 반환한다.
array1.concat(fruits); // [5, 12, 8, 130, 44, 'apple', 'banana', 'cherry']
: concat() 은 원본을 수정하지 않고 두개의 배열이 합쳐진 새로운 배열을 반환.
array1.forEach(function(element, index, array){ console.log(element) }; // 5 12 8 130 44
: 배열을 순서대로 콜백함수 인자에 넣어 실행하여 값을 반환.
array1.map(function(element, index){ return element +3) }; // [8, 15, 11, 133, 47]
: map() 은 배열 데이터로 반환.( 원본에 영향 없음 )
array1.filter( number => number < 100 ); // [5, 12, 8, 44]
: 조건에 맞는 item만으로 배열을 만들어 반환. ( 원본에 영향 없음 )
fruits.find( fruit => /^b/.test(fruit) ); // 'Banana'
: 정규표현식.test() 는 표현식과 맞으면 true 를 반환하고 find는 true 를 반환한 인자를 반환한다.
fruits.includes('banana'); // true
: 포함되어 있는지 확인, 결과 불린값으로 반환
원본 배열 수정!
fruits.push('carrot'); // ['apple', 'banana', 'cherry', 'carrot']
: 배열 가장 뒤에 삽입된다.
fruits.unshift('melon'); // ['melon', 'apple', 'banana', 'cherry', 'carrot']
: 배열 가장 앞에 삽입된다.
원본이 수정됨!
fruits.reverse();
: 배열 뒤집기
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' 넣기
객체는 속성(property)과 메소드(method)로 이루어져있다.
( method도 속성이다. 함수 속성 )
const target = { a: 1, b: 2, };
const source = { b: 4, c: 5, };
Object.assign( 대상 객체, 출처 객체 );
자바스크립트의 전역객체에 사용.
const targetSource = Object.assign(target, source);// {a: 1, b: 4, c: 5}
: 출처 객체로 부터 대상 객 체로 속성을 복사.
target === targetSource; // true
: true 가 나오는 이유 => 같은 메모리 주소를 갖는다.
==> 객체는 객체를 할당한 메모리의 주소를 변수에 담는다.
target 이라는 대상 객체에 출처 객체를 복사한 것이므로 target 객체가 할당된 메모리 주소에 출처 객체를 복사하여 넣은것이고 그 메모리 주소값이 targetSource 라는 변수에 할당 되었으므로 target 객체 메모리 주소값이 둘다 같다는 의미의 true를 반환한 것이다.
Object.keys(객체);
자바스크립트의 전역객체에 사용.
객체의 property 이름만 배열로 반환.
const keys = Object.keys(객체);
keys.map(key => 객체[key]);
// 객체의 속성 값만으로 이루어진 배열 반환.