자바스크립트에서는 String 을 " , ' , ` 위 부호를 모두 사용할 수 있다.

 

var str1 = "hello1234";
var str2 = 'hello1234';
var str3 = `hello1234`;

위 str 변수에 차이를 알아보자

 

JS에서는 쌍따옴표와 홑따옴표는 사실 차이가 없지만 구글에서는 홑따옴표를 사용을 권장한다고 한다.

참고 : https://google.github.io/styleguide/javascriptguide.xml?showone=Strings#Strings

 

단 억음 부호(backtick) 는 특징이 있다.

 

1. 개행 부호 사용이 가능하다

console.log(`aa\nbb`);

출력을 보면 개행이 적용된 상태로 출력이 된다.

출력결과

2. 변수 사용이 가능하다.

홑,쌍따옴표를 사용할 때 변수 사용하기 위해서는 번거로움이 있다.

var count = 4;
console.log("총 카운트는 "+count+" 입니다.");

하지만 억음 부호를 사용하게 되면

var count = 4;
console.log(`총 카운트는 ${count} 입니다.`);

위 처럼 변수 사용이 쉽게 사용이 가능하다.

 

3. Escape가 필요 없다.

만약 따옴표안에 따옴표를 사용하기 위해서는 \" , \' 을 사용해야 하는데 억음 부호는 사용할 필요가 없다.

 

var str1 = "\"test str\"";
var str2 = `"test str"`;

이렇게 사용하면 된다.

 

여기까지 따옴표, 억음 부호 차이점에 대해 알아보았다.

'Programming > Javascript' 카테고리의 다른 글

[javascript] dateFormat 모듈화  (0) 2020.12.03

javascript Date() 객체를 활용해 라이브러리 없이 내가 원하는 dateformat을 해놓을 것이다.

 

기존에 쓰던 방식으로는

 

var date = new Date(); 

//객체 선언 후
var year = date.getFullYear();
var mon = date.getMonth()+1;
var day = date.getDate();

var today = year + "-" + (mon<10 ? "0"+mon : mon) + "-" +  (day<10 ? "0"+day : day);

이렇게 많이 쓰고 지금도 많이 쓰고 있을 것이다.

 

물론 뒤에 나오는 fn이 특별한건 없고 위에 쓰인 기본기를 메서드화 시켜서 중복성과 편이성을 늘렸다고 볼 수 있다.

 

 

function dateFormat(date, sep) {  //date format 메서드
    var d = new Date(date),
        month = '' + (d.getMonth() + 1),
        day = '' + d.getDate(),
        year = d.getFullYear();

    if (month.length < 2) month = '0' + month;
    if (day.length < 2) day = '0' + day;

     return [year, month, day].join(sep);
}

 

위와같이 fn을 만들어놓고 내가 년월일 사이에 넣을 문자를 sep 에 넣어주면 끝이다.

 

var today = dateFormat(new Date(), "/") // today = '2020/12/03'

 

이렇게 간단하게 사용이 가능하다.

 

복붙해서 공통js 에 넣어놓고 가져다 쓰면 그만이다.

 

 

시간도 뒤에 붙이고 싶다면 아래의 내용을 참조하면 된다.

 

function formatDateTime(date, by) {
        var d = new Date(date),
            month = '' + (d.getMonth() + 1),
            day = '' + d.getDate(),
            year = d.getFullYear(),
            hour = d.getHours().toString(), 
            minute = d.getMinutes().toString(),
            sec = d.getSeconds().toString;

        if (month.length < 2) month = '0' + month;
        if (day.length < 2) day = '0' + day;
        if (hour.length < 2) hour = '0' + hour;
        if (minute.length < 2) minute = '0' + minute;
        if (minute.length < 2) minute = '0' + minute;
        if (sec.length < 2) sec= '0' + sec;

        return [year, month, day].join(by) + " " + hour + ":" + minute +":"+ sec;
    }