[テクニカルインタビュー]JavaScript-データ型とタイプ変換
2584 ワード
🎈 データ型が必要な理由
💡 静的タイピングとは?
変数を宣言するときに変数に割り当てられる値のタイプ、すなわち、事前に宣言されたデータ型(明示的なタイプ宣言)
// c 변수에는 1바이트 정수 타입의 값만을 할당할 수 있다.
char c;
// num 변수에는 4바이트 정수 타입의 값만을 할당할 수 있다.
int num;
💡 ダイナミックタイプとは?
変数の宣言時にタイプを宣言しない
💡 明示的なタイプ遷移とは?
開発者が意図的に値を変換するタイプ(=タイプ鋳造)
var x = 10;
// 숫자를 문자열로 타입 캐스팅
var str = x.toString();
console.log(typeof str, str); // string 10
// x 변수의 값이 변경된 것은 아님
console.log(typeof x, x); // number 10
🎈 明示的なタイプ変換関数の例
文字列以外の値を文字列タイプに変換します.
1.new演算子を使用せずにStringコンストラクタを呼び出す
String(1);
2. Object.prototype.TOStringメソッドの使用方法(1).toString();
1 + "";
数値タイプ以外の値を数値タイプに変換します.1.new演算子を使用せずにNumberジェネレータ関数を呼び出す
Number("0")
parseInt("0");
+"0";
"0" * 1;
Booleanタイプ以外の値をBooleanタイプに変換します.1.new演算子を使用せずにBooleanコンストラクタを呼び出す
Boolean("x");
Boolean(0);
!!"x";
!!0;
💡 デフォルトのタイプ変換とは?
開発者の意図を考慮せずに、式の計算中にJavaScriptエンジンによって自動的に暗黙的に変換されます(=強制型変換)
var x = 10;
// 문자열 연결 연산자 (+)는 숫자 타입 x의 값을 바탕으로 새로운 문자열을 생성함
var str = x + "";
console.log(typeof str, str); // string 10
// x 변수의 값이 변경되는 것은 아님
console.log(typeof x, x); // number 10
🎈 truthy/falsy
JavaScriptエンジンは、ブール以外のタイプの値をTruthy値またはFalsy値に区別します.
false
undefined
null
0, -0
NaN
' '
!false
!undefined
!null
!0, !-0
!NaN
!' '
Reference
この問題について([テクニカルインタビュー]JavaScript-データ型とタイプ変換), 我々は、より多くの情報をここで見つけました https://velog.io/@tanger2ne/기술인터뷰-JavaScript-데이터-타입テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol