-
JavaScript 변수와 상수, 배열Front-End/JavaScript 2024. 2. 23. 12:20728x90반응형
변수(Variable)
- 선언(Declaration) 및 값 초기화(Intitialization) 이후 값이 변할 수 있는 것
- 변수 선언 시 별도의 타입을 명시하지 않고, 명명법으로 카멜 케이스를 사용한다
- 동일하거나 보다 상위의 스코프(Scope)에서 사용중인 이름이나 약속된 키워드를 변수 이름으로 사용할 수 없다.
- 변수 선언 시 값을 부여(Assignment)하지 않으면 초기 값으로 undefined가 할당된다.
변수 선언let [변수 이름];
위처럼 값 초기화 없이 변수를 선언할 경우 그 값은 undefined로 초기화된다.
변수 선언 및 초기화let [변수 이름] = [초기값];
상수(Constant)
- 선언 및 초기화 이후 값이 변하지 않는 것
- 명명법으로 카멜 케이스 이용
- 동일하거나 보다 상위의 스코프(Scope)에서 사용 중인 이름이나 약속된 키워드를 상수 이름으로 사용할 수 없다.
- 상수 선언 시 값을 부여하지 않으면 오류 발생const [상수 이름] = [값];
배열(Array)
- 하나의 변수가 여러개의 값을 가질 수 있게하기 위해 사용한다.
- 배열의 작성 형태는 JSON(JavaScript Object Notation) Array의 형태와 같다.
배열의 선언은 아래의 형태로 한다.let [변수 이름] = [[인자, ...]];
가령, '사과', '바나나', '오렌지' 세개의 문자열을 인자로 가지는 fruits라는 배열은 아래와 같이 만들 수 잇다let [fruits] = ['사과', '바나나', '오렌지'];
배열이 가지는 각 항목을 인자라 하는데, 각 인자에 접근하기 위해서는 인자의 순번(인덱스)을 알아야 한다.
인자의 순번은 가장 첫 번째부터 0부터 시작하여 1씩 증가한다
배열 변수에 대괄호와 인자 번호를 이용하여 각 인자에 접근할 수 있다console.log(fruits[0]); // '사과' console.log(fruits[1]); // '바나나'
정적 메서드
- Object 클래스를 통해 접근할 수 있다.
- entries(x) : 오브젝트인 x가 가지는 키와 값을 각각 인덱스 0번과 1번으로 가지는 배열을 인자로 가지는 2차원 배열 반환
- keys(x) : 오브젝트인 x가 가지는 키 문자열들을 인자로 가지는 배열 반환
- values(x) : 오브젝트인 x가 가지는 값들을 인자로 가지는 배열 반환객체 속성
- length : 배열이 가지고 있는 인자의 개수
어떠한 배열이 가지는 length 속성에서 1을 뺀 값은 항상 마지막 인자의 인덱스다객체 메서드
- at(x) : 배열이 가지고 있는 x번째 인자 반환
- concat(x) : 호출 대상이 되는 배열과 인자인 배열 x를 이어 붙인 새로운 배열을 반환
- fill(...)
fill(x) : 호출 대상인 배열이 가지고 있는 모든 인자를 x로 대치한다.
fill(x, f) : 호출 대상인 배열이 가지고 있는 인자 중 그 인덱스가 f 이상인 인자를 x로 대치
fill(x, f, t) : 호출 대상인 배열이 가지고 있는 인자 중 인덱스가 f이상이고 t 미만인 인자를 x로 대치
- includes(x) : 호출 대상인 배열이 가지는 인자 중 그 값이 x와 일치하는 것이 있는가의 여부를 반환
- indexOf(x) : 호출 대상인 배열이 가지고 있는 인자 중 그 값이 x와 일치하는 첫 번째 인자의 인덱스를 반환. 그러한 인자가 없다면 -1 반환
- join(...)
join() : 호출 대상인 배열이 가지고 있는 인자를 쉼표(,)로 이어붙인 하나의 문자열 반환
join(x) : 호출 대상인 배열이 가지고 있는 인자를 x로 이어붙인 하나의 문자열 반환
- lastIndexOf(x) : 호출 대상인 배열이 가지고 있는 인자 중 그 값이 x와 일치하는 마지막 인자의 인덱스를 반환. 그러한 인자가 없다면 -1 반환
- pop() : 호출 대상인 배열이 가지고 있는 인자 중 마지막 인자를 제거하고 이를 반환
- push(x) : 호출 대상인 배열의 끝에 새로운 인자 x를 추가하고 배열의 길이(length) 반환
- reverse() : 호출 대상인 배열이 가진 인자의 순서를 뒤집어 반환
- shift() : 호출 대상인 배열이 가지고 있는 인자 중 첫 번째 인자를 제거하고 이를 반환
- slice(...)
slice() : 호출 대상인 배열이 가지고 있는 인자를 그대로 가지는 배열을 복사하여 반환
slice(f) : 호출 대상인 배열이 가지고 있는 인자 중 인덱스가 f이상인 인자를 가지는 배열을 복사하여 반환
slice(f, t) : 호출 대상인 배열이 가지고 있는 인자 중 인덱스가 f이상이고 t 미만인 인자를 가지는 배열을 복사하여 반환
- sort(...)
sort() : 호출 대상인 배열이 가지고 있는 인자 값을 문자열이라고 간주했을 때 이의 아스키코드를 기준으로 오름차순 정렬 후 반환
sort(f) : 호출 대상인 배열이 가지고 있는 인자가 되는, 두 개의 매개변수 a,b 를 받는 함수 f에 대해, 정렬시 a가 선행해야 하는 경우 음수, b가 선행해야 하는 경우 양수,
동율일 경우 0을 반환하는 함수를 직접 작성하여 이에대해 정렬 및 반환
- splice(...)
splice(i, d) : 호출 대상이 되는 배열이 가지고 있는 인자 중 그 순번이 i 이상인 것부터 d개를 제거하여 반환
splice(i, d, [v, ...]) : 호출 대상이 되는 배열이 가지고 있는 인자 중 그 순번이 i 이상인 것부터 d개를 제거하고, 가변인자 v의 첫번째 인자의 순번이 i가 될 수 있도록 추가하여 반환객체 메서드 (화살표 함수)
- every(f) : 호출 대상이 되는 배열이 가지고 있는 모든 인자가 함수 f의 전달 인자로 참을 반환하는가의 여부 반환
- filter(f) : 호출 대상이 되는 배열이 가지고 있는 인자 중, 함수 f의 전달 인자로 참을 반환하는 인자만을 인자로 가지는 새로운 배열 반환, 이를 만족하는 인자가 없다면 빈 배열 반환
- find(f) : 호출 대상이 되는 배열이 가지고 있는 인자 중 함수 f의 전달 인자로 참을 반환하는 첫번째 인자를 반환. 그러한 인자가 없다면 undefined 반환
- findLast(f) : 호출 대상이 되는 배열이 가지고 있는 인자 중 함수 f의 전달 인자로 참을 반환하는 마지막 인자를 반환. 그러한 인자가 없다면 undefined 반환
- forEach(f) : 호출 대상이 되는 배열이 가지고 있는 인자 전체에 대해 함수 f의 전달 인자로 해당 함수를 단순 반복 실행. 별도의 반환값은 없다.
- some(f) : 호출 대상이 되는 배열이 가지고 있는 인자 중, 하나라도 함수 f의 전달 인자로 참을 반환하는가의 여부 반환추가
자바스크립트의 배열은 이름은 배열이지만,
자바의 ArrayList의 성질에 더 가까우며,
자바와는 달리 배열의 길이가 동적(선언 후에도 원할 때 길이를 바꿀 수 있음)이다.
자바에서 스트림(java.util.Stream, 입출력에서 사용되는 스트림과는 다른 단어이다.) 에 담는 것처럼 에 담지 않아도,
스트림에 담겨있는 것처럼 사용할 수 있다.(중간 연산, 최종 연산 등)
728x90반응형'Front-End > JavaScript' 카테고리의 다른 글
JavaScript DOM, Window (0) 2024.02.23 JavaScript 오브젝트 (0) 2024.02.23 JavaScript 함수 (0) 2024.02.23 JavaScript 조건문과 반복문 (0) 2024.02.23 JavaScript 연산자 (0) 2024.02.23