JavaScript : String (3) TIL

Jivyy·2020년 5월 3일
0

WECODE

목록 보기
10/20

날짜와 시간

날짜와 시간을 저장하고 보여줄 때 날짜 객체를 사용한다.

GMT란 Greenwich Mean Time의 줄임말이며 컴퓨터 언어에서는 GMT기준으로 시간을 알려준다.
위의 사진은 GMT기준으로 6시간 빠르다는 것이고,한국은 GMT+0900 (한국 표준시) 로 표기된다.

원하는 포맷으로 날짜를 바꾸고자 할 때는 아래와 같이 Date 객체로 현재 시간을 가져온 후, 함수로 각 날짜와 시간의 값을 가져올 수 있다.

여기서 주의해야 할 점은 getMonth 함수에서는 +1 을 해줘야 한다는 것인데 그 이유는 array상에서 index no.와 숫자로 표현되는 month 가 다르기 때문인것 같다.

getTime함수

날짜를 밀리초 표현으로 반환한 것으로 기준일은 1970년 1월 1일이다.

이는 기준일로부터 1588325509534 초가 지났음을 의미하며 이를 이용해서 비교연산을 통해 언제가 더 과거인지 알 수 있다.

Number

Javascript Math 객체
W3Shool 링크 참조

  • Math.round(숫자) = 반올림
  • Math.ceil(숫자) = 올림
  • Math.floor(숫자) = 내림
  • Math.random() = 랜덤함수

이와 같이 하여 랜덤한 정수를 얻는 것도 가능하다.

  • 최소, 최대값이 정해지고 그 사이의 랜덤수를 구하는 방법
function getRandomArbitrary(min, max) {
  return Math.random() * (max - min) + min;
}
두 값 사이의 정수 난수 생성하기

object 객체

  • 객체 선언

  • 객체 호출

let plan1 = {   
  name: "Basic"
};

console.log(plan1.name);
console.log(plan1["name"]);

마침표(.)로 접근하는 것이 편할 것 같은데..
대괄호 표현은 언제 쓰는 것이 좋을까?

대괄호 안에는 변수가 들어갈 수 있다.
예를 들어 plan1 객체의 name이라는 프로퍼티에 접근하고 싶을 때,
아래와 같ㅇ ㅣ할 수 있다.

let plan1 = {   
  name: "Basic"
};

let propertyName = "name";

console.log(plan1[propertyName]);

  • property 값 수정

-property 값 추가

Block

중괄호{}로 감싸진 것을 block 이라 한다.
function 내부, for문, if문도 하나의 블록이다.
블록 내부에서 변수가 정의되면, 변수는 오로지 블록{}내부에서만 사용된다. 이를 지역변수라 한다.

이와 달리 block 밖인 global scope 에서 만든 변수는 global variable(전역변수)라 한다. 코드 어디서든 접근이 가능하다. 하지만 이를 남용하면 추후 수정이 어려워 지므로 유의해서 사용한다.

  • 좋은 scoping 습관
    변수들은 최대한 block scope 로 나눠놓는 것이 좋다.
    가독성이 올라가며 기능별로 나눠두면 유지보수가 쉽고 메모리 절약도 된다.

Switch 문

자바스크립트에서 조건문은 if와 switch문이 있는데 둘다 조건에 반응한다는 공통점이 있지만 형태와 쓰이는 방식이 다르다.

  • if 문 :
    if 문 뒤에 특정 조건을 삽입하고 중괄호 안에는 그 조건이 성립하는 경우 실행되는 결과를 작성한다.
    조건이 여러개일 경우는 else if 구문을 통해 처리한다.
    if 조건에서 거짓인 경우, else if 조건으로 넘어가며 이는 if 밑에 무수한 else if 가 존재한다 해도 결국 하나의 결과만 실행된다는 뜻이다.
    (어느 조건이 만족되면 그 결과가 출력되고 그 밑의 구문은 무시된다)

  • switch 문
    if 문이 특정 조건에 반응했다면 switch문은 특정 값에 반응한다.

이와 같이 switch 뒤에 값이 들어가는데 case에서 그 값이 특정 값인 경우에만 실행문이 실행된다.

위의 예제에서 보듯 x = 10으로 선언되었기 때문에 10에서 반응하였으나 그 아래의 결과까지 적용되어 x=11 까지 출력되었다. 그 이유는 break 이 없기 때문이다. 이는 switch 문의 가장 큰 특징이다. 특정 조건이 맞는 경우, 그 하위 case 들 까지 모두 실행되는 것이다.
이 경우, break 를 삽입하면 원하는 결과를 얻을 수 있다.

또한, if 문에서 모든 조건이 거짓인 경우 실행되는 else 가 있었던 것처럼 switch 문에는 default 라는 것이 존재하고 다음과 같이 사용한다.

profile
나만의 속도로

0개의 댓글