JSON이란?
JSON은 JavaScript Object Notation의 약자로, 브라우저와 서버사이에서 오고가는 데이터의 형식이다.



JSON.stringify(value, replacer, space)

value(필수): JSON 문자열로 변환할 값이다.(배열, 객체, 또는 숫자, 문자 등이 될 수 있다.)

replacer(선택): 함수 또는 배열이 될 수 있다. 이 값이 null 이거나 제공되지 않으면, 객체의 모든 속성들이 JSON 문자열 결과에 포함된다.



나는 보통 프론트단에서 controller단으로 json데이터를 보낼 때 사용하는데 
예를 들어 json data를 포함하는 객체가 생성되었을 때 
params['resultData'] = JSON.stringify(jsonData);
문자열로 만들어 객체에 넣어 controller로 보낸다.


자바스크립트 배열

 

자바스크립트 배열이 다른 언어와 다른 점 2가지
1 배열 내부의 데이터 타입이 서로 다를 수 있다.
2 배열의 크기는 동적으로 변경될 수 있다.

 


배열 생성

// 배열 생성 (빈 배열)
var arr = []; 
혹은
var arr = new Array(); 

// 배열 생성 (초기 값 할당)
var arr = ['zero', 'one', 'tow']; 

 


배열 추가 

Array.push(), Array.unshift(), Array.splice()

arr.push('d'); // 배열의 끝에 요소를 추가
arr.unshift('d'); // 배열의 앞쪽에 요소를 추가
arr.splice(2, 0, 'd'); // index 2 ('c')의 위치에 요소를 추가

 


배열 삭제 

Array.pop(), Array.shift(), Array.splice()

 

arr.pop(); // 배열의 마지막 요소를 제거
var popped = arr.pop(); // 제거한 요소를 반환 받을 수 있음
arr.shift(); // 배열의 첫번째 요소를 제거
var shifted = arr.shift(); // 제거한 요소를 반환 받을 수 있음
arr.splice(1, 2); // index 1 부터 2개의 요소를 제거
removed = arr.splice(1, 2); // 제거한 요소를 반환 받을 수 있음


 

'JavaScript' 카테고리의 다른 글

JSON  (0) 2021.08.09
자바스크립트 객체(생성, 접근, 삭제)  (0) 2021.08.09
javascript 문자열, 숫자 형변환  (0) 2021.05.16
javascript 현재 날짜 구하기  (0) 2021.05.16
자바스크립트의 변수  (0) 2021.01.17

자바스크립트 객체

 

자바스크립트에서 원시 타입을 제외한 모든 데이터 타입(객체, 함수, 배열, 정규표현식 등)은 객체다.
객체는 여러가지 값을 가질 수 있으며, 함수도 가질 수 있다.

 

객체가 보유한 값을 '프로퍼티'라고 하며, 객체가 보유한 함수를 '메서드'라고 한다.
(둘다 프로퍼티라고 하기도 한다)

 

객체의 프로퍼티와 메서드들은 '키값'으로 구분된다.

var object ={ key1: value1, key2: value2, ... }

 


객체 생성하는 법

 

 

1. 중괄호 { } 안에 key:value를 쉼표(,)로 구분하여 만든다.

var myObj = { name: '조', age: 20, hello: function(){ 
	return `이름은 ${this.name}이고, 나이는 ${this.age}입니다.`; }
};
console.log(myObj); // { name: '조', age: 20, hello: [Function: hello] }

 

2. new 연산자를 통해 Object객체의 생성자함수를 호출한다.

var myObj = new Object(); 
myObj.name = '조'; 
myObj['age'] = 20; 
myObj.hello = function(){ 
	return `이름은 ${this.name}이고, 나이는 ${this.age}입니다.`; 
}; 
console.log(myObj); // { name: '조', age: 20, hello: [Function] }

 

3. 중괄호 { }를 사용하여 빈 객체 생성

var myObj = {};
myObj['name'] = '조';

 


객체 접근하는 법

 

마침표로 프로퍼티에 접근하거나
대괄호[ ] 사이에 키값을 '문자열'로 넣어 접근한다.

myObj.name; // '조' 
myObj.age; // 20 
myObj.hello(); // '이름은 조이고, 나이는 20입니다.'

myObj['name']; // '조'
myObj['age']; // 20
myObj['hello'](); // '이름은 조이고, 나이는 20입니다.'

 


객체 프로퍼티 생성하는 법

 

마침표로 프로퍼티를 생성하거나 대괄호[ ] 사이에 키값을 '문자열'을 넣어 생성한다.

myObj.name1= '조1';
myObj.age1=21;
myObj.hello1 = function(){return 'hello1'};

myObj['name2'] = '조2';
myObj['age2']=  22;
myObj['hello2'] = function(){return 'hello2'};

 


객체 프로퍼티 삭제하는 법

 

delete 연산자를 사용하여 객체의 프로퍼티나 메서드를 제거한다.

delete myObj.name1;
delete myObj.age1;
delete myObj.hello1;

delete myObj['name2'];
delete myObj['age2'];
delete myObj['hello2'];

'JavaScript' 카테고리의 다른 글

JSON  (0) 2021.08.09
자바스크립트 배열(생성, 추가, 삭제)  (0) 2021.08.09
javascript 문자열, 숫자 형변환  (0) 2021.05.16
javascript 현재 날짜 구하기  (0) 2021.05.16
자바스크립트의 변수  (0) 2021.01.17

Number(str)

 

문자열을 인자로 받으면 해당 문자열을 숫자로 바꿔줍니다.

 

var num = Number('1234');

 

하지만 문자열이 숫자가 아닌 경우 num에는 NaN이 저장됩니다.

 

 

 

 

parseInt(str)

 

기본적으로 Number(str)와 동일하게 문자열을 인자로 받으면 해당 문자열을 숫자로 바꿔줍니다.

 

var num = parseInt('1234');

 

문자열이 숫자가 아닌 경우가 Number()와 조금 다른데 문자열이 숫자로 시작하는 경우에는 숫자가 끝날때 까지만 형변환을 하여 num에 저장됩니다. 시작이 숫자가 아니면 Number()와 마찬가지로 num에 NaN이 저장됩니다.

 

 

 

 

 



출처: https://dororongju.tistory.com/71 [웹 개발 메모장]

년월일 따로 구하기

 

var startDt = new Date();
             
var startYear = startDt.getFullYear();
var startMonth = startDt.getMonth() + 1;
var startDay = startDt.getDate();
             
if(startMonth < 10) startMonth = "0" + startMonth;
if(startDay < 10) startDay = "0" + startDay;
            

$("#startDate").val(startYear + "-" + startMonth + "-" + startDay);

 

 


년월일 한번에 구하기


var todayDt = new Date().format("yyyy-MM-dd"); 

 

'JavaScript' 카테고리의 다른 글

자바스크립트 객체(생성, 접근, 삭제)  (0) 2021.08.09
javascript 문자열, 숫자 형변환  (0) 2021.05.16
자바스크립트의 변수  (0) 2021.01.17
javascript (페이지 전역 클릭 감지)  (0) 2021.01.17
JavaScript 공부  (0) 2020.10.27

var는 변수 선언 방식에 있어서 큰 단점을 가지고 있다.

    var name = 'bathingape'
    console.
log(name) // bathingape

   var name = 'javascript'
   console.log(name) // javascript

 

변수를 한 번 더 선언했음에도 불구하고, 에러가 나오지 않고 각기 다른 값이 출력되는 것을 볼 수 있다.

이는 유연한 변수 선언으로 간단한 테스트에는 편리 할 수 있겠으나, 코드량이 많아 진다면 어디에서 어떻게 사용 될지도 파악하기 힘들뿐더러 값이 바뀔 우려가 있다.

 

 

let 은 변수에 재할당이 가능하다.

    let name = 'bathingape'
    console.
log(name) // bathingape

let name = 'javascript'
    console.
log(name)
   
// Uncaught SyntaxError: Identifier 'name' has already been declared

name = 'react'
    console.
log(name) //react

 

 

const는 변수 재선언, 변수 재할당 모두 불가능하다.

    const name = 'bathingape'
    console.
log(name) // bathingape

const name = 'javascript'
    console.
log(name)
   
// Uncaught SyntaxError: Identifier 'name' has already been declared

name = 'react'
    console.
log(name)
   
//Uncaught TypeError: Assignment to constant variable.

 

 

출처: https://velog.io/@bathingape/JavaScript-var-let-const-%EC%B0%A8%EC%9D%B4%EC%A0%90

 

var, let, const 차이점

JavaScript에서 변수 선언 방식인 `var, let, const` 의 차이점에 대해 알아보자. 1. 변수 선언 방식 우선, `var`는 변수 선언 방식에 있어서 큰 단점을 가지고 있다. 변수를 한 번 더 선언했음에도 불구하

velog.io

 

  document.onmousedown = function leftClick() {

  var target = window.event.srcElement.id;

   if (target) {

             alert("클릭감지");

  }
 };

'JavaScript' 카테고리의 다른 글

자바스크립트 객체(생성, 접근, 삭제)  (0) 2021.08.09
javascript 문자열, 숫자 형변환  (0) 2021.05.16
javascript 현재 날짜 구하기  (0) 2021.05.16
자바스크립트의 변수  (0) 2021.01.17
JavaScript 공부  (0) 2020.10.27

함수(function) = 독립적인 블록이다.


function 함수이름식별자(매개변수1인수, 매개변수2인수,...) {

    함수가 호출되었을 때 실행하고자 하는 실행문;

}


변수는 유효범위에 따라 

1지역변수

2전역변수

 

지역변수의 범위일 지라도 var키워드를 쓰지않으면 해당변수는 전역변수로 자동 으로 변함
전역변수와 지역변수가 같은 이름이라도 둘은 다른 값을 가짐

 

var num = 10; // 전역 변수 num을 선언함.
function globalNum() {
    var num = 20; // 같은 이름의 지역 변수 num을 선언함.
    document.write("함수 내부에서 변수 num의 값은 " + num + "입니다.<br>"); // 20
}
globalNum(); // 함수 globalNum()을 호출함.
document.write("함수의 호출이 끝난 뒤 변수 num의 값은 " + num + "입니다."); // 10

함수 호이스팅(hoisting)

 

자바스크립트 함수안에 있는 모든 변수의 선언은 맨 처음으로 이동된 것 처럼 동작한다.

var globalNum = 10;     // globalNum을 전역 변수로 선언함.
function printNum() {
    document.write("지역 변수 globalNum 선언 전의 globalNum의 값은 " + globalNum + "입니다.<br>"); // ①
    var globalNum = 20; // globalNum을 지역 변수로 선언함. // ②
    document.write("지역 변수 globalNum 선언 후의 globalNum의 값은 " + globalNum + "입니다.<br>");
}
printNum();

1번의 globalNum이 전역변수를 가리키는 10이 나올것 같지만 undefine이 나온다 

 

함수호이스팅으로 인해 var globalNum; 이 (변수의 선언 부분) 맨 처음 부분으로 이동된다. 

var globalNum = 10;
function printNum() {
    var globalNum; // 함수 호이스팅에 의해 변수의 선언 부분이 함수의 맨 처음 부분으로 이동됨.
    document.write("지역 변수 globalNum 선언 전의 globalNum의 값은 " + globalNum + "입니다.<br>");
    globalNum = 20;
    document.write("지역 변수 globalNum 선언 후의 globalNum의 값은 " + globalNum + "입니다.<br>");
}
printNum();

 

바스크립트에서는 함수 호이스팅이 자동으로 수행되지만, 항상 함수 블록의 첫 부분에 변수를 선언하는 것이 좋습니다.


arguments 객체 

 

arguments객체를 이용하면 함수로 전달된 인수의 총 개수를 학인하거나 각각의 인수에도 접근 가능

 

arguments 객체는 함수가 호출될 때 전달된 인수를 배열의 형태로 저장한다.

 

첫번째 인수는 arguments[0]에 저장되며 다음인수는 [1] 에 저장된다.

또한 인수의 총 갯수는 arguments 객체의 length 프로퍼티에 저장된다

 

function addNum() {
    var sum = 0;                                // 합을 저장할 변수 sum을 선언함.
    for(var i = 0; i < arguments.length; i++) { // 전달받은 인수의 총 수만큼 반복함.
        sum += arguments[i];                    // 전달받은 각각의 인수를 sum에 더함.
    }
    return sum;
}
addNum(1, 2, 3); // 6
addNum(1, 2);    // 3
addNum(1);       // 1
addNum();        // 0
addNum(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); // 55

 

 

+ Recent posts