🐟 배열 리터럴로 생성하기
참조
가 변수에 저장된다// 배열 리터럴로 생성 예시 let evens = [2, 4, 6, 8, 10] let a = [2, , 4]; // console.log(a) ➡ [2, undefined, 4] let various = [ 1, "one", true, {one: "1"}, [1, 1, 1] ]; // 모든 타입의 값이 올 수 있다
🚫 length
프로퍼티
+1
이 포함되어 있다.배열.length-1
이 된다.let arr = [ 'a', 'b', 'c', 'd', 'e' ] arr.length = 2 // length 프로퍼티에 값을 할당함으로써 배열의 길이 조절 가능 console.log(arr) ➡ [ 'a', 'b' ] arr.length = 5 // length 프로퍼티에 배열 길이보다 큰 정수 값을 대입하면, // 배열에 새로운 요소가 추가되지 않고 length 프로퍼티 앖만 바뀐다 console.log(arr) ➡ [ 'a', 'b', 'c', 'd', 'e', empty ]
🐟 Array 생성자로 생성하기
new Array
로 새로운 배열 생성하는 방식// new 생성자로 생성 예시 let evens = new Array(2, 4, 6, 8); evens[0] // 2 evens["2"] // 6
🐠 Array 생성자의 인수가 한 개고, 그 값이 양의 정수이면, 인수로 주어진 길이만큼 배열을 생성
❗ 이때 인수는 배열의 길이
를 뜻하므로, 배열이 인수의 값만큼 길이가 생성된다
let a = new Array(3) console.log(a.length) // 3
🐠 배열 요소의 추가
let evens = new Array(2, 4, 6, 8); evens[4] = 10; console.log(evens) ➡ [2, 4, 6, 8, 10]
🐠 배열 끝에 요소 추가
let evens = new Array(2, 4, 6, 8); evens.push(12) console.log(evens) ➡ [2, 4, 6, 8, 12]
🐠 배열 요소의 삭제
let evens = new Array(2, 4, 6, 8); delete.evens[1] console.log(evens) ➡ [2, undefined, 6, 8]
🐠 희소 배열
배열에 요소를 추가하거나 제거하면 인덱스가 0부터 시작되지 않는 배열이 만들어지며, 이러한 배열을 희소 배열
이라고 부른다.
없는 요소
이다let str = ["A", "B", "C"]; str[4] = "E"; console.log(str) ➡ ["A", "B", "C", undefined, "E"] console.log(str.length) ➡ 5 // 일반 배열의 length가 4이지만, 희소배열의 length는 5
🐇 표현식과 연산자
🪐 표현식
: 어떤 값으로 평가(evaluation)되는 것.
숫자
, 문자열
, 논리값
등의 원시값(Primitive evalues)이다.3.14, "hello", true, false, null
변수
, 프로퍼티
, 배열요소
, 함수 호출
, 메서드 호출
도 표현식이다.sum, circle.radius, a[3], squre(5), card,getSum()
🪐 연산자
(=operator)를 사용하면 표현식을 조합하여 더욱 복잡한 표현식을 만들어 낼 수 있다.
a + b // + 부분이 연산자
🐇 산술 연산자
🪐 산술 이항 연산자
❗ 산술 이항 연산자를 쓸 때 몇 가지 주의사항
1)+
연산자는 피연산자 중 하나가 문자열이면, 나머지 피연산자를 문자열로 만든다.1 + "2month" // 연산 결과: "12month" // 숫자 1을 문자열 "1"로 타입을 바꾸고 2month와 연결한다. // 피연산자 중 하나가 숫자고 다른 하나가 문자열이면 문자열로 타입을 바꾸고 문자열과 연결
2) 계산할 수 없는 경우
- 계산할 수 없는 경우에는
NaN
으로 평가- 피연산자가
true
면 1,false
와null
이면 0으로 평가undefined
면 NaN으로 평가0/0 // -> NaN : 계산할 수 없음 "one" * 1 // -> NaN : 계산할 수 없음 true + true // -> 2 : 논리값의 타입을 숫자로 바꾸어 더함 1 + null // -> 1 : null을 0으로 바꾸어 더함 1 + undefined // -> NaN : undefined를 NaN으로 바꾸어 더함
🪐 산술 단항 연산자
좌변
에 있어야 한다.❗ 증가 연산자와 감소 연산자는 피연산자 앞에 표기하는 전위 표기법과 뒤에 표기하는 후위 표기법을 사용할 수 있다.
전위 표기법을 사용하느냐 후위 표기법을 사용하느냐에 따라 피연산자를 평가하는 시점이 달라진다.
전위 표기법
을 사용하면, 피연산자 값을 바꾼 다음에 피연산자를 평가한다.
후위 표기법
을 사용하면 피연산자 값을 평가한 다음에 피연산자 값을 바꾼다a = 1; b = ++a // b는 2가 되고 a는 2가 된다(a에 1을 더하고 a를 b에 대입한다.) c = a++ + 2; // c는 4가 되고 a는 3이 된다. (a + 2를 c에 대입하고 a에 1을 더한다.)
🪐 산술 대입 연산자
sum += data; // 위 코드는 아래와 같은 뜻이다 sum = sum + data;