이번주는 코딩을 배운지 3주차가 되었고
지난 배운것들을 돌아보면 많은 걸 배웠지만 아직 배울게 많이 남아 있는 것 같습니다
저번주에는 pair와 함께 작업을 할 때 쓸 수 있는 git에 대해 배워보았고
어제와 오늘은 배열과 객체에 대해서 배워 보았습니다
Shift
앞쪽을 삭제
Unshift
앞쪽에 추가
Push
뒤에 추가
Pop
뒤에 삭제
Split
메서드는 String 객체를 지정한 구분자를 이용하여 여러 개의 문자열로 나눕니다.
const strCopy = str.split();
console.log(strCopy);
// expected output: Array ["The quick brown fox jumps over the lazy dog."]
Slice
slice() 메서드는 어떤 배열의 begin부터 end까지(end 미포함)에 대한 얕은 복사본을 새로운 배열 객체로 반환합니다. 원본 배열은 바뀌지 않습니다.
const animals = ['ant', 'bison', 'camel', 'duck', 'elephant'];
console.log(animals.slice(2));
// expected output: Array ["camel", "duck", "elephant"]
console.log(animals.slice(2, 4));
// expected output: Array ["camel", "duck"]
console.log(animals.slice(1, 5));
// expected output: Array ["bison", "camel", "duck", "elephant"]
splice
메서드는 배열의 기존 요소를 삭제 또는 교체하거나 새 요소를 추가하여 배열의 내용을 변경합니다.
const months = ['Jan', 'March', 'April', 'June'];
months.splice(1, 0, 'Feb');
Consolog: Array ["Jan", "Feb", "March", "April", "June"]
Concat. 함수는 둘 또는 둘 이상의 문자열을 연결하고 연결한 문자열을 반환합니다.
const array1 = ['a', 'b', 'c'];
const array2 = ['d', 'e', 'f'];
const array3 = array1.concat(array2);
Return array3(1+2)
Array from
.
위 메서드는 유사 배열 객체(array-like object)나반복 가능한 객체(iterable object)를 얕게 복사해새로운Array 객체를 만듭니다
console.log(Array.from('foo'));
// expected output: Array ["f", "o", "o"]
Array join
메서드는 배열의 모든 요소를 연결해 하나의 문자열로 만듭니다
console.log(elements.join('-'));
// expected output: "Fire-Air-Water"
typeof 연산자는 피연산자의 평가 전 자료형을 나타내는 문자열을 반환합니다.
console.log(typeof 42);
// expected output: "number"
console.log(typeof 'blubber');
// expected output: "string"
``Array.isArray```
Array.isArray() 메서드는 인자가 Array인지 판별합니다.
Array.isArray([1, 2, 3]); // true
Array.isArray({foo: 123}); // false
Array.isArray('foobar'); // false
Array.isArray(undefined); // false
이렇게 배열에 대하여 배워보았고
객체에 대해 배웠는데요 우선
객체를 배울때 다른 방법의 반복문을 배웠습니다
기존에 배웠던 반복문
for(let i = 0 ; i < arr.length ; i++)
와 같은 방식에서
for(let property in obj)
와 같은 방식으로도 배워보았습니다.
let property 의 뒤에는 of 가 올 수도 있습니다
for in 반복문은 객체의 속성들을 반복하여 작업을 수행할 수 있습니다. 모든 객체에서 사용이 가능합니다. for in 구문은 객체의 key 값에 접근할 수 있지만, value 값에 접근하는 방법은 제공하지 않습니다. 자바스크립트에서 객체 속성들은 내부적으로 사용하는 숨겨진 속성들을 가지고 있습니다. 그 중 하나가 [[Enumerable]]이며, for in 구문은 이 값이 true로 셋팅되어 속성들만 반복할 수 있습니다. 이러한 속성들을 열거형 속성이라고 부르며, 객체의 모든 내장 메서드를 비롯해 각종 내장 프로퍼티 같은 비열거형 속성은 반복되지 않습니다.
var obj = {
a: 1,
b: 2,
c: 3
};
for (var prop in obj) {
console.log(prop, obj[prop]); // a 1, b 2, c 3
}
for of 반복문은 ES6에 추가된 새로운 컬렉션 전용 반복 구문입니다. for of 구문을 사용하기 위해선 컬렉션 객체가 [Symbol.iterator] 속성을 가지고 있어야만 합니다(직접 명시 가능).
var iterable = [10, 20, 30];
for (var value of iterable) {
console.log(value); // 10, 20, 30
}
for in 반복문과 for of 반복문의 차이점
for in 반복문 : 객체의 모든 열거 가능한 속성에 대해 반복
for of 반복문 : [Symbol.iterator] 속성을 가지는 컬렉션 전용
Object.prototype.objCustom = function () {};
Array.prototype.arrCustom = function () {};
var iterable = [3, 5, 7];
iterable.foo = "hello";
for (var key in iterable) {
console.log(key); // 0, 1, 2, "foo", "arrCustom", "objCustom"
}
for (var value of iterable) {
console.log(value); // 3, 5, 7
}
Prop = 프로퍼티, obj[prop] = 객체[프로퍼티]로 접근한 프로퍼티 값입니다.
주중에는 그날 그날 과제를 따라가느라 시간이 많이 없지만 저녁 조금의 시간이라도 이용해서 공부 해보고 코플릿은 주말에 다시 다 풀어보는걸로 해야겠습니다**
공부량이 생각보다 엄청 방대 하지만 따라가려고 허덕대기만 해도 어느새 그 어려웠던 if 문과 for문을 자연스레 쓰고 있는 자신을 보면서 그래도 헛배우진 않고 이렇게 허덕 대기만 해도 습득이 되는구나 라는걸 느꼇습니다