멋쟁이사자처럼 프론트엔드 스쿨 7기 학습내용 정리 및 복습
Number
원시 값이 안정적으로 나타낼 수 있는 최대치인 2^53 - 1 (9007199254740991) 보다 큰 정수를 표현할 수 있는 객체n
을 붙이거나 함수 bigInt()
를 호출해 생성// 1. array의 여러가지 형태
let arr1 = []
let arr2 = [1, 2, 3]
let arr3 = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
arr3[0] // 출력: [1, 2, 3]
arr3[1] // 출력: [4, 5, 6]
arr3[2] // 출력: [7, 8, 9]
arr3[1][2] // 출력: 6
// 2. array 길이 출력
let arr1 = [1, 2, 3]
arr1.length // 출력: 3
arr1.length = 100
arr1 // 출력: [1, 2, 3, empty × 97]
arr1[10] = null
arr1 // 출력: [1, 2, 3, empty × 7, null, empty × 89]
let arr2 = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
arr2.length // 출력: 3
arr2.flat().length // 출력: 9
let arr3 = [[[10, 20], [10, [10, 20]], 3],
[[10, 20], [10, [10, 20]], 6],
[[10, 20], [10, [10, 20]], 9]]
arr3.flat()
arr3.flat().flat().flat()
arr3.flat(3)
arr3.flat(Infinity)
[함수 설명 예시]
// 건물 올리기 할 예정
// 땅 다지기()
// 말뚝세우기()
// 기초콘크리트()
// 철근바인딩()
// 기둥세우기()
// 외벽올리기()
// 지붕올리기()
// 1번째 장점
// 아키텍처 파악: 이 코드를 보고 건물올리기를 한다는 것을 알 수 있음.
// 2번째 장점
// 유지보수 용이: 예를 들어 기둥에 문제가 생기면 기둥세우기() 함수로 가면 됨
// 3번째 장점
// 재사용성: 새로운 건물을 세울 때, 똑같은 함수를 다시 사용하면 됨
// 함수의 장점
// scope 변수가 다른 변수를 침범하지 못하게 보호해주는 보호막 같은 것.
// 이렇게 선언하면 인부들이 투입된 상태는 아닌 것.
// 실제로 이대로 일을 해라! 하는 것은 '호출'을 해야 함.
// 이 부분은 '정의'부분 임.
function 땅다지기(삽, 인원){ // '삽'과 '인원'은 파라미터 (파라미터는 선언할 때)
// 기능
console.log(`${삽}개의 삽을 가지고 ${인원}명이 땅을 다진다!`)
return '다져진 땅'
// return은 해당 함수가 실행되면 반환하는 값 전달
// 함수 내부에서 return 구문을 만나면 해당 함수는 '종료' 됨
}
땅다지기(10,30) // '10'과 '30'은 아규먼트 (실제로 값을 넣는 것)
[중요 포인트]
'파선아실'
파라미터는 선언 (파라미터 = 매개변수)
아규먼트는 실제 값 (아규먼트 = 전달인자,인수)
[구문]
function 함수이름 (매개변수) {
[함수가 수행하는 작업]
}
function sum(x, y) {
return x + y;
}
sum(1, 2); // result: 3
function sumXY = function (x, y) {
return x + y;
};
console.log(sumXY(10, 20)); // result: 30
// 1. return문만 있는 경우
function sum(x, y) {
return x + y;
}
// 위 함수를 화살표 함수로 작성하면 아래와 같음
let sum = (x, y) => x + y
// 2. 함수의 기능 + return이 있는 경우
function sum(x, y) {
let z = x + y;
console.log(z)
return z;
}
// 위 함수를 화살표 함수로 작성하면 아래와 같음
let sum = (x, y) => {
let z = x + y;
console.log(z)
return z;
}
// 3. 인자가 하나인 경우
function pow(x) {
return x * x;
}
// 위 함수를 화살표 함수로 작성하면 아래와 같음
let pow = x => x * x;
let pow = (x) => x * x;
(function () {
console.log('즉시 실행!')
})()
// 1. 전역변수
let a = 10; // 전역변수
function test() {
console.log(a)
}
test() // result: 10
// 2. 지역변수
let a = 10
function one() {
let a = 100 // 지역변수
function two() {
function three() {
console.log(a)
}
three()
}
two()
}
one() // result: 100
// 자신의 공간에 해당 변수가 없으면 상위 공간에서 찾음
// 못 찾으면 error