220624.study

Universe·2022년 6월 24일
0

study

목록 보기
4/49
post-custom-banner
💡 함수 = 일정한 동작을 수행하는 코드
function a() {}  // 함수 선언문 💡 함수 선언문 뒤에는 세미콜론(;)을 붙히지 않는다.
const b = function() {};  // 함수 표현식
const c = () => {};  // 화살표 함수
// 변수와 마찬가지로 함수를 만드는 행위도 '선언한다' 라고 한다.
function a() {} // a 함수를 선언
a(); // a 함수를 호출
function () {} // 익명함수, 단 한번만 쓸 함수라면 이름을 붙히지 않고 써도 된다.
return // 값을 반환하고 함수를 종료한다.
function c() {
		return 'hello';
    console.log('hi');
}

c()
-> "hello" // hi 값을 반환하지 않고 return 에서 함수를 종료한다.
function d() {
  if (false) { // if문으로 반환 조건을 설정해줄 수 있다.
    retrun;
  }
  console.log('hello')
}
function e() {
  return 10;  // 반환값을 설정하는 방법
}
console.log(e());
-> 10;
function f() {
  return [1,2]; // 리턴값을 배열로 설정할 수 있다.
}
a()
-> (2) [1,2]
💡 매개변수와 인수(parameter & argument)

함수의 선언시 parameter / 함수의 호출시 argument

function a(parameter) {
  console.log(parameter);
}
a('argument'); // argument 를 parameter 를 부른다.
function a(w,x,y,z) {
  console.log(w,x,y,z);
  console.log(arguments);
}
a('hello', 'parameter', 'Argument');

-> hello parameter Argument undefined // 짝이없다면 undefined 를 반환
Arguments(3) ['hello', 'parameter', 'Argument']
function a(x,y) {
  console.log(x,y);
}
a(1,2,3);

-> 1 2 // 더 많이 호출하면 짝이 없는 인수는 무시한다.
💡 x,y,z 값을 받아 곱한 값은 반환하는 multiply 함수를 만들어 보세요.
const multiply = (x,y,z) => {
return x * y * z;
}
// return과 {}를 생략하여 이렇게 표현할 수 있다.
const multiply = (x,y,z) => x * y * z;
<const A = 200;
function sumTwohundred(a,b) {
  return a+b+A;
}
console.log(sumTwohundred(100,300));
-> 600;

JavaScript

💡 객체 리터럴 : 배열이나 함수가 아닌 객체중 일정 모양을 갖춘 객체. 배열을 쓰지 않고 객체 리터럴을 쓰는 이유? 묶은 값들의 값들의 대한 명명이 필요하다.
기본 
const 객체 = {
  속성이름: 속성값,
  속성이름2: 속성값2,
  속성이름3: 속성값3,
}
주의사항
const object = {
  abc = '1',    //  영문자만 있을 경우 ' '를 사용하지 않아도 된다.
  '234' = '2',  //  숫자가 들어가 있을 경우 ' '로 묶어준다.
  'd e' = '3',  //  공백이 있을 경우 ' '로 묶어준다.
  '5-6' = '4',  //  이외에 다른 문자가 있을 경우에도 ' '로 묶어준다.
}

속성에 접근하는 방법
object.abc
object['234'] // ' ' 처리가 된 요소들은 이 방법으로만 접근할 수 있다.
object[234]   // 234 라는 값을 찾게되어 전혀 다른 결과를 얻을 수 있으니 주의.

객체 수정
object.abc = '0'

객체 제거
delete object.abc;

객체/함수끼리는 비교했을때 항상 false

정말 중요하지만 복잡한 개념인데..

원시 타입 - null, undefined, string, number, boolean, symbol

참조 타입 - Array, Object, Function

자바스크립트는 원시타입, 참조타입 두 가지 타입으로 구분되는데

원시타입 데이터의 변수 선언, 초기화, 할당시에 값이 저장된 메모리 값이 변경되고, 참조타입 데이터는 메모리값을 직접 변경하지 않고 해당 요소의 데이터를 참조하는 주소만 가지고 있다.

원시타입

let a = 1;
let b = 1;

a === b // true;
// 1이 창고에서 찾는 물건이라고 했을때
// a와 b는 그 물건을 부르는 이름.
// 물건이 같다면 그 물건을 어떻게 불러도 같은 물건이라고 볼 수 있다.
참조타입

let a = {
  name : "woo",
  age : "30",
  gender : "man",
};

let b = {
  name : "woo",
  age : "30",
  gender : "man",
};

a === b // false;
// a와 b는 서로 같은 물건을 넣어놓은 꾸러미를 넣어놓은 창고의 '자리번호'
// 서로 다른 자리에 놓인 똑같은 내용의 꾸러미지만 ?
// 서로의 '자리번호'는 다르므로 a와 b는 같다고 볼 수 없다.
profile
Always, we are friend 🧡
post-custom-banner

0개의 댓글