가수면

Javascript 기본 개념 추가 (2) 본문

웹 개발/웹 개발

Javascript 기본 개념 추가 (2)

니비앙 2022. 11. 18. 15:25

index

비유하자면 책의 목차(Index)에 있는 페이지 수와 같으며, 목차를 보고 해당 페이지를 펼치면 원하는 내용(value)을 볼 수 있는것과 같다.

 

배열 구조 분해 할당

배열에 변수 이름을 마음대로 선언할 수 있고, 배열의 순서대로 할당. 선언한 변수를 제외한 나머지 요소는 할당 X

const arr = ["Node.js", "React", "Spring"];

const [backEnd, frontEnd] = arr;
console.log(backEnd); // Node.js
console.log(frontEnd); // React

 

Rest

function f(x, ...y) {
  // y is an Array
  return x * y.length;
}
f(3, "hello", true) == 6

 

스프레드

function f(x, y, z) {
  return x + y + z;
}
f(...[1,2,3]) == 6

NaN

숫자가 아닌 값을 숫자로 변환하는 경우 NaN으로 반환됨.

NaN === NaN;        // false # NaN은 다른 모든 값과 비교했을 때 같지 않으며, 다른 NaN과도 같지 않음
Number.NaN === NaN; // false
isNaN(NaN);         // true # 현재 값이 NaN이거나, 숫자로 변환했을 때 NaN이 될 경우 true를 반환
isNaN(Number.NaN);  // true # 현재 값이 NaN이어야만 true를 반환

 

불리언 연산(true, false)

Falsy 값에는 빈 문자열 '', 숫자 0, 불리언 false, null, undefined, NaN가 해당 => 외에는 모두 ture

항상 Truthy 로 판단되는 자료형 => Array, Object

 

 

객체 구조분해 할당

const user = {name: "손석구", age: 10};
const { name, age } = user
    
console.log(name)
console.log(age)

손석구
10

 

배열 구조분해 할당

배열를 구조분해 할당했을 때 순서는 배열의 index 순서와 같음.

const games = ['배틀그라운드', '리그오브레전드'];
const [battleGround, Lol] = games;

console.log(battleGround);
console.log(Lol);

배틀그라운드
리그오브레전드

 

property vs value

(property): (value);

예) color: red;

 

parseInt(string, 진법)

예)

parseInt("10"); // 10 # 문자열 "10"을 숫자로 변환하여 정수 10을 리턴합니다.
parseInt("10.9"); // 10 # 문자열 타입의 실수값은 소수점을 제거한 후, 정수값만 리턴합니다.
parseInt("10nnn13"); // 10 # 문자열의 첫글자가 숫자일 때, 숫자가 아닌 값은 무시하고, 그 이전의 숫자만 정수로 변환합니다.
parseInt("    10"); // 10 # 문자열의 첫글자는 반드시 숫자여야 하지만, 처음에 오는 공백 문자는 허용됩니다.
parseInt("k10"); // NaN # 문자열의 첫글자가 숫자가 아니면, NaN(Not a Number)를 리턴합니다.
parseInt(""); // NaN # 문자열의 첫 글자가 숫자가 아니므로, NaN(Not a Number)를 리턴합니다.

 

 

.join()

배열의 원소들을 연결하여 하나의 값으로 만든다.

'웹 개발 > 웹 개발' 카테고리의 다른 글

Javascript 간단 퀴즈  (0) 2022.11.18
Javascript 기본 개념 추가 (1)  (0) 2022.11.18
JavaScript 함수 (2)  (0) 2022.11.12
JavaScript 함수 (1)  (0) 2022.11.11
JavaScript 반복문  (0) 2022.11.10
Comments