티스토리 뷰

JAVASCRIPT

객체와 배열, 함수의 기초 정리

jeongah story 2020. 3. 29. 20:26

 

#모던 자바스크립트 

 

 

4.1.1 객체

 

1. 객체 리터럴 

객체 : 데이터와 함수의 집합 (객체 안에 있을 때는 보통 프로퍼티와 메소드라고 부릅니다.)

리터럴 : 데이터 그 자체를 뜻 한다.  (변수에 넣는 변하지 않는 데이터를 의미하는 것이다.)

 

See the Pen 객체 by jeongahlee (@jeongahlee) on CodePen.

 

 

 

2.  프로퍼티 추가와 삭제 , in 연산자 ,객체 참조타입

 

See the Pen 프로퍼티 추가와 삭제 by jeongahlee (@jeongahlee) on CodePen.

 

4.2 함수의 기초

 

함수

  • 함수의 이름
  • 괄호 안에서 쉼표로 분리된 함수의 매개변수 목록 
  • 중괄호 { } 안에서 함수를 정의하는 자바스크립트 표현

 

See the Pen 함수의 기초 by jeongahlee (@jeongahlee) on CodePen.

 

 

함수의 흐름

함수 선언문의 끌어올림 : 함수를 정의 하기 전에 함수를 실행하는 코드를 작성해도 문제없이 작동됩니다.

console.log(a(5)); // 25

function a(x){return x*x}  

 

값으로서의 함수  : 변수값을 다른 변수에 할당하면 그 변수이름의 함수를 실행할 수 있습니다

var sq = a;  //a 함수 값 할당

console.log(sq(5)); //25

 

 

3. 참조값에 의한 호출과 값에 의 한 호출

 

원시값을 인수로 넘겼을때,

function add(x){ return x = x+1;}

var a =3;

var b = add1(a);  //add1은 전달받은 이수에 1을 더하여 반환하는 함수

console.log( "a = " + a + ", b =" +b);   /// a=3,b=4 

 

객체를 인수로 넘겼을때,  (예시참조)

function add(p) {p.x = px+1; p.y=p.y+1; return p;}

var a = {x:3, y:4};

var b=add(a);

console.log(a,b); Object {x=4,y=5} Object {x=4,y=5}

 

 

4. 변수의 유효범위

 

 

//변수의 충돌 
var a = "global";
function f(){
var a ="local";
console.log(a);
return a;
}
f(); //local
console.log(a);  //global

 

 

 


//블록 범위 let , const
//let 블록 유효 범위를 갖는 지역 변수  // 변수에 재할당이 가능
//const 선언한 상수는 let 문으로 선언한 변수처럼 동작. //변수 재선언, 변수 재할당 모두 불가능하다.

let names = 'bathingape';
console.log(names) // bathingape

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

names = 'react';
console.log(names); //react


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 

 

 

'JAVASCRIPT' 카테고리의 다른 글

[javascript30] 드럼치기  (0) 2020.04.07
[javascript] 다차원 배열, 유사배열  (0) 2020.04.05
[javascript] 표현식과 연산자  (1) 2020.04.05
배열의 메서드(Array.prototype)  (0) 2020.03.29
null vs undefined (javascript)  (0) 2019.10.25
댓글
© 2018 eh2world