function plusOne(input1) {
input1 = input1 + 1;
return input1;
}
2. 함수 표현식 - let 으로 선언 후 function 할당 (내가 이해 못 했던 부분)(문자열 6번)
let minusOne = function (input2) {
input2 = input2 - 1;
return input2;
};
method : 객체 안에 정의된 함수, 객체를 통해서 호출되는 함수
this : 실행 중에 this가 포함된 라인(scope)를 가능하게 하신 분
this 가 어려운 이유는 실행 중에 변하기 때문(동적)
함수 실행시 foo1(); → foo1함수의 값 반환
foo1; → 함수 foo1 자체를 반환
push / pop / (un)shift 이 메소드 들은 length 값 return - 헷갈리니 mdn 참고
array.slice(0, n); // 처음부터 n - 1 번째 idx 까지 추출
return array; → 헛짓(기껏 바꿔놓고 이전의 원본 값 추출) → return array.slice(0, n) 이렇게 해야 수정된 원하는 값 추출
ex) let fruits = ['apple', 'banana', 'pineapple'] // 과일들을 '요소(element)' 라고 부른다.
fruits[2] = 'pineapple'
fruits[3] = undefined
배열 안의 배열도 조회 가능 -> 다차원 / 다중 배열
let myNumber = [[1, 2], [3, 4], [5, 6]]
ex) myNumber[1][0]; // myNumber 변수의 [1]번째 배열의 [0]번째 요소값 조회 // 3
myNumber.length; // myNumber 변수의 길이 // 3
myNumber.push(7, 8); // () 요소값을 배열 뒤에 추가 // [7, 8]
myNumber.pop(); // 마지막 요소값을 제거
myNumber.unshift(); // 처음에 () 내부의 요소값 추가
myNumber.shift(); // 처음 요소값 제거
let words = ['red', 'blue' ,'grey'] // 영문자일 경우 대소문자 구분 잘 해야 함
words.indexOf('red') = 0;
words.indexOf('purple') = -1; // 배열 내 없는 요소를 찾을 경우 -1 값으로 반환한다.
이를 이용하여 words.indexOf('grey') ≠= -1 // true
words.indexOf('yellow') ≠= -1 // false
words.includes('red'); // true
words.includes('black'); // false
형식 : 키 & 값(value)
let user = {
firstName : 'steve',
lastName : 'Lee',
e-mail : '—-@—-.com',
...
} → { } 로 객체 생성하고, 키 / 값 쌍은 쉼표로 구분한다.
Dot notation
ex) user.firstName; // 'Steve'
Bracket notation
ex) user['firstName']; // 'Steve'
→ Bracket notation의 경우 객체 키에 문자열 ' ' 을 꼭 넣을 것 !(안 넣으면 에러)
ex) tweet['content'] === tweet.content
tweet[content] ≠= tweet['content'] || tweet.content // tweet[content] : content 라는 변수를 보는 것('content'라는 문자열을 보는 게 아닌)
객체 값은 어떤 형태든 가능하다 → 문자열 ' ', boolean, 배열 등
delete tweet.firstName; 해당 키 값 삭제
'e-mail' in user; // true; → in 연산자로 boolean 해당 키 여부 확인 가능