-
[코드스테이츠 TIL] 자바스크립트 배열, 반복문, 객체와 methodStudy/JavaScript 2019. 10. 10. 16:00반응형

[배열 array]
배열 : 순서가 있는 값
요소 : 배열의 값 element
순서 : 인덱스 index / 0부터 번호를 매긴다
let myNumber = [12, 34, 45, 56] myNumber[0] = 12배열로 할 수 있는 것들 : property and method
-
온점(dot . )을 이용해서 변수가 가지고 있는 property에 접근할 수 있다
myNumber.length - 온점(dot . )을 이용해서관련된 method를 실행할 수 있다.
method는 함수 실행처럼 괄호를 열고 닫는 형태로 실행한다.
myNumber.push(98)
[반복문 loops and iteration]
반목문 : 반복할 내용과 조건을 코드로 작성
for 구문과 while 구문 차이는 거의 없다
for (let step = 0; step < 5; step++) { // Runs 5 times, with values of step 0 through 4. console.log('Walking east one step'); }let i = 0; do { i += 1; console.log(i); } while (i < 5);[객체 object]
객체는 키와 값 쌍으로 이뤄져있다.
key - value pairlet user = { name : 'subin', age : 27, nation : 'Korea' }- Dot notation
ex) user.name = 'subin' - bracket notation
ex) user['name'] = 'subin'
변수['key'] 으로 해야 value를 가져올 수 있다 (key를 스트링 취급해야하므로 따옴표 필요)
변수[key] 로 작성하면 key를 변수로 취급한다.
key라는 변수가 아직 정의되지 않았기 때문에 uncaught.. 하면서 에러가 뜨게 된다.
그래서 항상 문자열 형식으로 key를 작성해야한다 (uncaught reference : 변수가 정의되지 않아서 뜨는 에러)
★ bracket notation을 써야하는 경우
함수에서 key가 변수로 설정될 때는 항상 bracket notation을 사용해야한다.
function pro(obj, name){ return obj[name] }
function pro(obj, name){ return obj[name] }key 추가 : 변수['key'] = value
key&value 쌍 삭제 : delete 변수.key 또는 delete 변수['key']
key 유무 여부 확인 : 'key' in 변수
let obj = { a:1, b:2, c:3 } obj['d'] = 4 // d:4 쌍 추가 delete obj.a // a:1 삭제 for(let key in obj){ //code } //key 유무 여부 확인[객체 object method]
Object.assign(target, ...sources) : 하나 이상의 출처 객체로부터 대상 객체로 속성을 복사할 때 사용
- target : 복사 당하는 대상 객체
- sources : 복사 출처의 객체
- return value : target 객체
- 동일한 키가 존재할 경우 대상 객체의 속성은 출처 객체의 속성으로 덮어쓰여진다
- 속성은 파라미터 순서에서 더 뒤에 위치한 동일한 속성을 가진 다른 객체에 의해 덮어쓰여진다
const o1 = { a: 1, b: 1, c: 1 }; const o2 = { b: 2, c: 2 }; const o3 = { c: 3 }; const o4 = { d: 4 }; const obj = Object.assign({}, o1, o2, o3, o4); console.log(obj); // { a: 1, b: 2, c: 3, d: 4 }Object.entries(obj) : for...in와 같은 순서로 주어진 객체 자체의 [key, value] 쌍의 배열을 반환
- obj : 열거 가능한 자체 property [key, value] 쌍이 반환되는 객체
- return value : 지정된 객체 자체의 열거 가능 속성 [key, value] 쌍의 배열
const obj = { 0: 'a', 1: 'b', 2: 'c' }; console.log(Object.entries(obj)); // [ ['0', 'a'], ['1', 'b'], ['2', 'c'] ]Object.keys(obj) : 개체 고유 속성의 이름을 배열로 반환
- obj : 배열로 열거 가능한 속성을 가진 객체
- return value : 주어진 객체의 모든 열거 가능한 속성의 이름을 나타내는 문자열 배열
const object1 = { a: 'somestring', b: 42, c: false }; console.log(Object.keys(object1)); // expected output: Array ["a", "b", "c"]Object.values(obj) : 전달된 파라미터 객체가 가지는 속성의 값들로 이루어진 배열을 리턴
- obj : 배열로 열거 가능한 속성을 가진 객체
- return value : 전달된 객체의 속성 값들을 포함하는 문자열 배열
const object1 = { a: 'somestring', b: 42, c: false }; console.log(Object.values(object1)); // expected output: Array ["somestring", 42, false]obj.hasOwnProperty(prop) : 객체가 특정 프로퍼티를 가지고 있는지를 나타내는 불리언 값을 반환
- prop : 테스트하려는 프로퍼티의 명칭
const object1 = new Object(); object1.property1 = 42; console.log(object1.hasOwnProperty('property1')); // expected output: true console.log(object1.hasOwnProperty('toString')); // expected output: false반응형'Study > JavaScript' 카테고리의 다른 글
[코드스테이츠 TIL] Complexity 복잡도 (0) 2019.11.04 [코드스테이츠 TIL] Number, Math method (0) 2019.11.04 [코드스테이츠 TIL] 배열 Array method (3) 2019.11.02 [코드스테이츠 TIL] 문자열 String method , Debug (1) 2019.10.31 [코드스테이츠 TIL] 자바스크립트 변수, 조건문, 함수 개념 (0) 2019.10.09 -