자바스크립트 특징 정리

citron03·2022년 8월 4일
0

html, css, js

목록 보기
35/43
  • 자바스크립트는 대소문자를 구분한다.

  • 자바스크립트는 객체지향, 동적, 타입을 명시할 필요가 없는 인터프리터 언어이다.

  • 따라서, 컴파일이 필요하지 않다.

  • 자바스크립트를 통해서 HTML의 내용, 속성, 스타일을 변경할 수 있다.

  • 자바스크립트는 세미콜론(;)을 쓸 수도, 안 쓸 수도 있다.

🏀 리터럴(literal)은 직접 표현되는 값 그자체, value를 의미한다.

🏈 function은 return이 있어야 하지만, procedure에서는 return이 없을 수도 있다.

  • 배열의 원소가 연속적으로 존재하지 않을 수도 있는데 이때는 희소 배열이라고 한다.

  • 실제 배열의 크기보다 원소의 개수가 작다.

// 희소 배열의 예시
const data = new Array();
data[10] = 'z';

console.log(data, data.length);
// 출력 값: [,,,,,,,,,,"z"] 11
  • 객체가 메모리에 저장되면 인스턴스라고 한다.

  • 인스턴스화 되었다는 의미는 실제 객체가 생성되어 메모리에 저장되었음을 의미한다.

  • 생성자 함수를 이용하거나 리터럴 {}, 또는 Object() 를 사용하여 객체를 생성할 수 있다.

  • 자바스크립트의 코어 함수는 기본적으로 자바스크립트에서 제공되는 함수를 의미한다.

  • 코어 함수는 미리 정의된 전역 함수로, 반대말은 사용자 정의 함수이다.

  • 자바스크립트 배열의 인덱스는 꼭 숫자일 필요는 없다 (연관 배열).


const data = [1, 2, 3];
data["A"] = "B";

console.log(data["A"]); // "B"
console.log(data); // [1, 2, 3]
console.log(data.length); // 3
  • 다만, 숫자가 아닌 인덱스는 배열 출력시 포함되지 않고 길이에도 포함되지 않는다.

  • 연관 배열은 배열 객체가 아니라 기본 객체로 재선언된다.

  • 이런 연관 배열을 사용하는 대신에 Map 객체를 사용할 수 있다.

  • 객체의 key값을 프로퍼티, 객체에 포함된 함수를 메서드라고 부른다.

  • 자바스크립트에서 객체의 상속은 프로토타입을 통해 구현된다.

  • 깊은 복사를 위해서 JSON.parse(JSON.stringify())를 사용한다.

  • 얕은 복사는 전개 연산자나 Object.assign()을 사용할 수 있다.

  • ECMAScript6부터 추가된 새로운 타입인 Symbol이 있는데, 이는 원시 데이터를 가진다. 심볼은 고유하며 변경이 불가능하다.

  • 자바스크립트에서 깊은 비교는 ===, 얕은 비교는 ==를 쓴다.

  • 자바스크립트에서는 문자열의 글자를 배열처럼 []를 통해서 접근할 수 있다.

  • ?? 연산자를 통해서 null이나 undefined가 아닌 값을 얻을 수 있다.

  • flatMap을 사용하여 일차원 배열을 반환할 수 있다.

['abc', 'def'].flatMap((v) => v.split('')); 
// ['a', 'b', 'c', 'd', 'e', 'f'] 
profile
🙌🙌🙌🙌

0개의 댓글