์๊ฒฉ ๋ชจ๋๋ ES5์ ๋์
๋ ๋ฌธ๋ฒ์ด๋ค. ์๋ฐ์คํฌ๋ฆฝํธ ์ต์๋จ์ use strict
๋ฌธ๊ตฌ๋ฅผ ๋ฃ์ด ์คํํ๋ค. ๋๋ ํจ์ ๋ด์์๋ ์์ฑ ๊ฐ๋ฅํ๋ค.
์๊ฒฉ ๋ชจ๋๋ฅผ ์คํํ๊ธฐ ์ ์๋ ๊ด์ฉ์ ์ผ๋ก ๋์จํ๊ฒ ํ์ฉ๋๋ '์ค๋ฅ๋ฅผ ์ ๋ฐํ ๊ฐ๋ฅ์ฑ ์๋ ๋ฌธ๋ฒ' ๋๋ฌธ์ ๋๋ฒ๊น
์ด ์ด๋ ค์ด ์์ธ์ด ๋๊ณค ํ๋ค. strict mode๋ฅผ ์คํํด์ฃผ๋ฉด ๋ฏธ๋ฆฌ ํด๋น ์๋ฌ๋ฅผ ์ถ๋ ฅํด์ ๋ฐ๋ก์ก์ ์ ์๋๋ก ๋์์ค๋ค. ์
๋ฐ์ดํธ ๋ ์๋ก์ด ๋ช
์ธ์ ์๋ฐ์คํฌ๋ฆฝํธ์ ๋์ํ๊ธฐ๋ ํธํ๊ณ , ์ต์ ํ ์ด์์๋ ๋์์ด ๋์ด์ use strict
๋ฅผ ์ฌ์ฉ์ด ๊ถ๊ณ ๋๋ค.
๋ฆฌ์กํธ, ๋ทฐ ๊ฐ์ ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ ๋๋ ์๋์ผ๋ก ์๊ฒฉ ๋ชจ๋๋ฅผ ์ฌ์ฉํ ์ ์๊ฒ ํด์ค์ ํฌ๊ฒ ์ ๊ฒฝ์ฐ์ง ์์์ง๋ง, ๋ฐ๋๋ผ ์๋ฐ์คํฌ๋ฆฝํธ ํ๋ก์ ํธ๋ฅผ ํ ๋๋ ์ถ๊ฐํด์ฃผ๋ ์ต๊ด์ด ์ข๊ฒ ๋ค.
๋ณดํต npx๋ก CRA์ ํ๊ณ ๋๋ฉด ์๋ ๊ฐ์ ์ฝ๋๋ฅผ ๋ณผ ์ ์๋ค.
import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App';
import reportWebVitals from './reportWebVitals';
ReactDOM.render(
<React.StrictMode>
<App />
</React.StrictMode>,
document.getElementById('root')
);
reportWebVitals();
<React.StrictMode>
๊ฐ ์๊ฒฉ ๋ชจ๋๋ฅผ ์ค์ ํด์ฃผ๋ ๋ถ๋ถ์ด๋ค.
๋ํ์ ์ผ๋ก ์๊ฒฉ ๋ชจ๋์ ์ผ๋ฐ ๋ชจ๋(or sloppy mode)์ ์ฐจ์ด์ ์ this
์ปจํ
์คํธ์ ์ฐจ์ด๋ฅผ ๋ค ์ ์๋ค. ์ผ๋ฐ ๋ชจ๋์์๋ null
๋๋ undefined
๋ก ์ถ๋ ฅ๋์ด์ผ ํ ์ํฉ์ ์ต์์ ์ปจํ
์คํธ๋ก ๋์ฒด๋์ง๋ง, strict mode๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ ๊ทธ๋ฌํ ๋์ฒด๊ฐ ์ผ์ด๋์ง ์์ ๊ทธ๋๋ก null
๊ณผ undefined
๋ก ์ถ๋ ฅ๋๋ค.
์ ์ธํ์ง ์์ ๋ณ์๋ฅผ ํ ๋น๋ง์ผ๋ก ์ ์ญ ๊ฐ์ฒดํํ๋ ๊ฒ๋ ๊ธ์ง๋๊ณ , ๊ธฐ์กด์ delete
ํค์๋๋ฅผ ํตํด ์ญ์ ํ ๋ณ์๋ ํจ์๋ฅผ ์ฐธ์กฐํ ์ ์์๋ ๊ฒ๋ ๊ธ์งํ๋ค.
'๐ฉโ๐ป > JavaScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JavaScript] ํจ์ ์์ฑ์์ ํด๋์ค์ ์ฐจ์ด (0) | 2021.05.09 |
---|---|
[JavaScript] ์ฝ์คํ, ์ฝ๋ฐฑํ, ์ด๋ฒคํธ ๋ฃจํ์ ๋์ ์๋ฆฌ๋ฅผ ํตํ ๋น๋๊ธฐ ํจ์์ ์คํ ๊ณผ์ (0) | 2021.05.09 |
[JavaScript] call, apply and bind (0) | 2021.05.05 |
[JavaScript] ์ ๊ท์ ์ด์ฉํ String Date ๊ฐ๊ณตํ๊ธฐ (0) | 2021.03.31 |
[Programmers] JavaScript, ์์ ํ์, ๋ชจ์๊ณ ์ฌ ๋ฌธ์ (0) | 2021.03.03 |