【Day11】动态型别

JavaScript 是动态型别的程序语言,指的是变数的型别是可以更换的,

而 JavaScript 执行的过程中,会有创造阶段和执行阶段,

JavaScript 会在执行阶段时才确立型别,

而我们如果要确认型别的话,可以使用 typeof 来进行确认,

而变数中的型别是根据赋予的值所决定的,因此变数和该变数的值型别会一样

var myName = 'weiwei';

// 解析
// 创造阶段
var myName;
// 执行,此时才将值赋予到变数中
myName = 'weiwei';

console.log(typeof myName);  // string
console.log(typeof 'weiwei')  // string

因为 JavaScript 变数的型别是可以更换的,

而型别转换又可分为显性的转换和隐性的转换

显性的转换(Explicit conversion)

当一个变数从原有的值被赋予另一个型别的值,

称为显性的转换(Explicit conversion)

var num = 1;
console.log(typeof num);  // number
num = 'weiwei';
console.log(typeof num);  // string

上方范例中,num 的型别原来是 number

而赋予值 'weiwei' 时,型别转为 string

这就是显性的转换(Explicit conversion)

隐性的转换(Implicit conversion)

在运算过程中所产生的型别变化,

称为隐性的转换(Implicit conversion)

var num = 1;
console.log(1, typeof num);  // 回传 1 number
num = num + '';
console.log(1, typeof num);  // 回传 1 string
num = num * 3;
console.log(1, typeof num);  // 回传 3 number

上方范例中,num 原本的型别为 number,值为 1

再加上空字串後,型别则转换成 string,值为 1

此时再将 num * 3,型别则转换成 number,且值变成 3

这就是隐性的转换(Implicit conversion)


<<:  #11 CSS3 Flexbox: RWD

>>:  Day 06:专案01 - 超简单个人履历05 | CSS版面布局、Flex

30天学会C语言: Day 24-排序

用於排序的演算法有很多种,其中一种是 气泡排序法 #include<stdio.h> #...

确保资讯安全的有效性,并达到符合性(合规性)要求,应优先遵循组织政策

-政策框架 组织应当遵守法律法规。管理团队应尽职尽责制定或审查政策以满足法律和监管要求。 组织政策...

子元件向父元件传值与讯息

人类沟通需要技巧,程序语言靠的是方法。 我们除了可以透过 Props 来让父元件传值给子元件外,也...

【程序】给 23 - 28 岁的你的一封信 转生成恶役菜鸟工程师避免 Bad End 的 30 件事 - 29

来到了铁人赛的29天,扣除掉最後一集的心得,今天算是最後一个主题。 今天的影片和以往不太一样,我事...

[Day04] Tableau 轻松学 - Tableau 三大软件

前言 Tableau 是多个软件的通称,我们初学在进行 BI 分析时,最常会用到其中的三种,分别为 ...