2022.09.06 개인 공부 - JavaScript
기존에 배운 C 계열 언어 (C, C++, C#) 및 Node.js 수업에서 배운 내용과 다르거나 다뤄지지 않은 부분만, 본인의 공부를 위하여 기재한다.
alert(인수) :
메시지, 확인 버튼 있음
prompt(인수, (인수)) :
메시지, 입력 필드 제공
취소 → null
두 번째 인수 → default 값 설정
confirm(인수) :
메시지, 확인을 받기 위한 용도
확인 → true, 취소 → false
장 : 간단히 사용 가능
단
필요한 이유 :
서로 다른 자료형의 변수 간 연산은 의도치 않은 결과를 불러일으킬 수 있으므로 자료형을 맞춰주어야 한다.
주의 : prompt 입력은 문자형
자동 형 변환 : / (나누기) 등의 연산은 자동으로 형을 변환해준다.
명시적 형 변환
String() ⇒ 문자형
Number() ⇒ 숫자형 / 숫자가 아닌 문자 → NaN
Boolean() ⇒ 불리언형 (논리형)
0, ‘’, null, undefined, NaN → false
그 외 → true
주의
Number(null) → 0
Number(undefined) → NaN
Boolean(0) → false
Boolean(’0’) → true
Boolean(’’) → false
Boolean(’’) → true - ‘’ ← 공백
==(동등 연산자)는 자료형과 무관하게 비교
===(일치 연산자)는 자료형도 포함하여 비교
평가
||(OR)은 첫 번째 true를 발견하는 즉시 평가를 멈춤
&&(AND)는 첫 번째 false를 발견하는 즉시 평가를 멈춤
우선 순위 && > ||
||(OR)을 활용한 할당
변수 = A || B
A가 참이면 변수 = A
A가 거짓이고 B가 참이면 변수 = B
function 함수명 (매개변수) { 내용; }
매개변수 디폴트 값 설정
(변수 선언 키워드) 객체명 = {
프로퍼티명 : 내용,
프로퍼티명 : 내용(,)
}
ex.
const superman = {
name : 'Clark',
age : 33,
}
객체명.프로퍼티 명
객체명['프로퍼티명']
ex.
superman.name
superman['name']
만약 프로퍼티가 존재하지 않는다면 undefined 반환
삭제
delete 객체 호출식
ex.
delete superman.name
'프로퍼티명' in 객체명 // boolean 값 반환
객체 순회
for … in 반복문
객체 프로퍼티에 할당된 함수
메소드 할당
키워드 객체명 = {
함수명 : function() {
내용;
}
}
: function은 생략 가능하다.
=>
키워드 객체명 = {
함수명() {
내용;
}
}
pop() / push() : 배열 끝에 제거 / 추가
shift() / unshift() : 배열 앞에 제거 / 추가
추가는 한 번에 여러 개 가능
배열 순회
for … of 반복문