잘 모르는 "간단한" 자바스크립트 문법 5가지>

dev.dave·2023년 7월 26일

Javascript

목록 보기
78/167

잘 모르는 "간단한" 자바스크립트 문법 5가지>

  1. {} 중괄호

이거는 객체죠 , 객체리터럴이라고도 부르죠

{

let a = '3';

}

console.log(a); // 이렇게 하면 레퍼런스에러죠 밖에서 찾았으니까..

그리고

중요한 점은

a는 블록스코프 니까 실행후 메모리에서 사라져 버리죠.

그리고

let a = '5';

{

let a = '3';

}

console.log(a);

이렇게하면

위에 a가 나오겠죠 5..

이런게

응용된게

if(){} 문

fo(){}r문

function() {}

while(){}

등등

이죠

블록스코프요

================================

  1. () 소괄호

소괄호는,,

즉시 실행 함수 할떄도 쓰죠

(function () {}())

(function () {})()

그리고

화살표함수도

(() => {})();

됩니다.

그리고

화살표함수에서

() => {}

이거 대신에

소괄호로 감쌀수 있어요

() => ()

이렇게

즉,

(x, y) => {

return x + y;

}

이거를

(x, y) => x + y;

이렇게 줄일 수 있죠,

줄일때,

(x, y) =>( x + y);

이렇게 구별하기 쉽기 위해서 소괄호로 감쌀 수 있어요.

뭐,,

객체를 리턴할다 할때도,

const a = (x, y) => ({x, y});

이렇게 소괄호 안에 객체 작성해서 쓸 수 있고,

뭐 그냥

const a = (x, y) => {x, y};

이렇게 소괄호 빼고 작성해도 문제는 없습니다.

map 쓸때 객체 리턴할때 소괄호로 감싸야 하는거도

이런거죠.

쓰임세가...

참고로

소괄호는 무제한으로 쓸수있긴 합니다. 짝만 맞으면,,,

그리고

const a = (x, y) => {

return (1, 2);

}

이런거 처음보는분도 계실텐데

이거 됩니다.

그리고

a(1,2) 호출하면

// 2

가 나옵니다

왜?

리턴값을 소괄호로 감싸면,

마지막 인자가 리턴 됩니다.

앞에꺼는 그냥 실행되고 지나가는겁니다.

그래서 2만 찍히게 되죠.

(1,2,3,4,5,6);

이렇게 해도

6만 나옵니다.

이게 콤마 연산자라는건데

항상 마지막 것이 나옵니다.

잘 안쓰긴하죠.ㅋㅋㅋ

그리고

소괄호의 또다른 쓰임세는,,,,

const a = 1;

a.toString();

// '1'

문자열로 바껴 나옵니다.

그리고

'hello'.toUpperCase();

//'HELLO'

대문자로 나오죠.

1.toString();

하면 에러가 나죠.

이럴때

소괄호를 씁니다.

(1).toString();

//'1'

에러없이 잘 됩니다.

소괄호가 문제 해결사 입니다.

ㅎㅎ

왜냐면

자바스크립트 엔진이

소괄호 단위로 구별을 해주기 때문에,

뭐가 문법적으로 잘 안된다 싶으면

소괄호 감싸주면 될때가,,,? 많습니다.

명확하게 구분을 지어주는게 소괄호임.


  1. in 연산자

const h = 'hello' : 'cat' , 'hi' : 'zerocho' , 1: 3, true: false};

for (const k in h) {

console.log(k);

}

//

1

hello

hi

true

키를 뽑아낸거죠.

for in

타입스크립트에서 in 이 나옵니다.

'hi' in h

//true

for 안에 안들어있어도 , 즉 for 없이 저렇게 작성해도 된다.

if 안에도 저렇게 넣을 수 있습니다.

if ('hi' in h) {

true

}

//true

또다른예)

const dog = { bark: '멍멍' };

const cat = { meow: '야옹' };

if ('bark' in dog ) {

//강아지

}else{

//강아지 아님

}

====================================

profile
🔥개인 메모 / 다른블로그 자료 참조 / 다른블로그 자료 퍼옴 (출처표기) /여기저기서 공부 했던 내용 개인메모 & 참고 / 개인 기록 용도 블로그 입니다.🔥

0개의 댓글